[VBA/EXCEL07] Copier une chaîne dans plusieurs cellules

Copier une chaîne dans plusieurs cellules [VBA/EXCEL07] - VB/VBA/VBS - Programmation

Marsh Posté le 01-12-2010 à 10:24:20    

Salut,
 
 
Je cherche à optimiser une application qui rame copieusement, je suis donc à la recherche d'astuces.
 
Je dois concaténer plusieurs valeurs : Val1, Val2, Val3, pour ça pas de problème.
La subtilité c'est que j'aimerais me positionner sur une cellule, y coller ma chaîne mais au lieu d'avoir Val1, Val2 et Val3 dans la même cellule me retrouver avec Val1 dans la cellule active, Val2 dans la cellule suivante (Même ligne) et Val3 dans la cellule suivante.
 
Tout cela pour m'éviter d'avoir ce genre de répétition dans mon code :

Code :
  1. Cells(DepartAgentsRow + j, DepartAgentsCol - 2).Value = rs(3)
  2. Cells(DepartAgentsRow + j, DepartAgentsCol - 1).Value = rs(2)
  3. Cells(DepartAgentsRow + j, DepartAgentsCol).Value = rs(0)
  4. Cells(DepartAgentsRow + j, DepartAgentsCol + 1).Value = rs(1)


 
Est-ce possible ?


Message édité par jaymzwise le 01-12-2010 à 10:24:49
Reply

Marsh Posté le 01-12-2010 à 10:24:20   

Reply

Marsh Posté le 01-12-2010 à 13:19:39    

Hello,
 
tu peux faire :
 
 

Code :
  1. dim tableauValeurs() as String
  2. Redim tableauValeurs(3)
  3. tableauValeurs(0) = rs(3)
  4. tableauValeurs(1) = rs(2)
  5. tableauValeurs(2) = rs(0)
  6. tableauValeurs(3) = rs(1)
  7. Range(Cells(DepartAgentsRow + j, DepartAgentsCol - 2).Address, Cells(DepartAgentsRow + j, DepartAgentsCol + 1).Address).Value = tableauValeurs


 
 
ca ira plus vite que d'écrire cellule par cellule. Ensuite si t'as toutes les lignes d'un tableau a traiter, le mieux c'est de créer un tableau en variable de 2 dimensions, et d'écrire le résultat sur le fichier Excel en passant le tableau comme valeur (faut juste bien sélectionner toute la plage qui recevra les données pour que ca marche)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed