![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: décembre 2004
Messages: 11
|
Bjr
j'ai un petit souci j'ai un tableau a une dimension que je cherche a copier vers excel Tab(0)= jaune Tab(1)= vert Tab(2)= rouge .... et voila ce que je voudrais obtenir A1 jaune B1 vert C1 rouge j'ai fait un truc qui fonctionne mais qui est long ( Une boucle et j'utilise offset pour remplir chaque cellule ) existe-t-il une facon plus rapide ? Par avance, merci |
|
|
|
|
|
#3 (permalink) |
|
Invité régulier
![]() Date d'inscription: décembre 2004
Messages: 11
|
C'est pas que ce soit long ( j'ai ptet un peu exagéré)
mais je cherche à optimiser cette partie de traitement Code :
For j = LBound(tabres) To UBound(tabres) Step 1 ActiveCell.Value = tabres(j) ActiveCell.Offset(0, 1).Activate Next j Dernière modification par AlainTech ; 10/10/2008 à 13h07 Motif: Balises [code] |
|
|
|
|
|
#4 (permalink) |
|
Membre habitué
![]() Date d'inscription: février 2008
Localisation: Loire Atlantique
Messages: 164
|
Bonjour,
Dans ce cas précis, en 1 ligne : Code :
Range("A1:C1") = tabres cordialement, Didier
__________________
Didier Gonard N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
|
|
|
#5 (permalink) |
|
Invité régulier
![]() Date d'inscription: décembre 2004
Messages: 11
|
merci de votre aide
mais dans votre exemple c'est assez statique dans mon probleme ; le tableau est dynamique et surtout la celllule de depart (" A1" dans votre exemple ) est également dynamique. Sans trop rentrer dans les détails , ma macro cherche un n° de telephone dans une feuille et lorsque le n° est trouvé, elle colle les elements du tableau ( nom, rue, cp, ville, etc) dans les cellules adjacentes |
|
|
|
|
|
#6 (permalink) |
|
Membre habitué
![]() Date d'inscription: février 2008
Localisation: Loire Atlantique
Messages: 164
|
Ben oui, pourquoi les réponses sont à côté de la plaque
Ben parcequ'elles répondent à la question posée et non pas à ce que le demandeur a dans l'idée... J'ai précisé que l'on pouvait mettre des bornes dynamiques, ça dépend du reste du code. Exemple, en faisant intervenir un tirage au sort Code :
Sub DemoRempliCellRapide2() Dim tablo As Variant Dim I As Integer Dim MaxI As Byte Dim cible As Range 'Selectionnez une cellule vierge qui a 29 cell vierges à droite par exemple MaxI = Int((30 * Rnd) + 1) ReDim tablo(MaxI) MsgBox MaxI For I = 0 To MaxI - 1 'demande un tableau à 1 dimention tablo(I) = Cells(I + 7, 3) Next I Range(ActiveCell, ActiveCell.Offset(0, MaxI)) = tablo End Sub l'emplacement du "collage" dépendra de la cellule active (sélectionnée) et le Ubound variera de 1 à 30 PS : si tu as besoin d'explications sur ce code ou sur la façon d'adapter le tien, tu demandes... PS2: Je n'utilise pas le même principe pour remplir mon tableau, ça marche aussi, mais me génère un tableau à 2 dimentions.. bon courage, Didier
__________________
Didier Gonard N'oubliez pas de mettre : ..quand c'est le cas !
Dernière modification par Ormonth ; 10/10/2008 à 17h02 Motif: rajout PS |
|
|
|
|
![]() |
![]() |
||
Copie tableau vers Excel
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|