XL 2016 Numerotation auto tableau

Hoareau

XLDnaute Occasionnel
Bonjour

J'ai 10 tableaux, je veux les numéroter par boucle


for i = 1 to 10

MyArray_ & i

next

merci
 

youky(BJ)

XLDnaute Barbatruc
Bonjour à tous,
Lone-Wolf c'est les trucs que j'aime bien . . .
Je copie que les valeurs sans le format
Bruno
VB:
Sub test_group_2()
[O11:Z65000].ClearContents 'efface
For lig = 11 To [J65000].End(3).Row
col = (Cells(lig, 10) * 5) + 10
col2 = (Cells(lig, 11) * 5) + 10
Range("O" & lig & ":S" & lig).Value = Range(Cells(2, col), Cells(2, col + 4)).Value
Range("V" & lig & ":Z" & lig).Value = Range(Cells(2, col2), Cells(2, col2 + 4)).Value
Next
End Sub
 

Hoareau

XLDnaute Occasionnel
Bonsoir Bruno :)

Bein, comme je ne voyais pas ce qu'il voulais faire au juste, j'ai pensé au fameux tablo(). Et comme moi je n'ai toujours pas de maîtrise, j'ai laissé la main (pas la mienne hein!! ;):D).

Bonjour

la procédure semble fonctionner comme je le voulais
Serait 'il possible de commenter les lignes de code
je vais tester plus en détail

A partir de mon début de procédure, tableaux, ne serait-il pas possible d'arriver au même résulta

merci
 

youky(BJ)

XLDnaute Barbatruc
Voici qui est plus proche et avec tes MyArray,
Possibilité de faire une boucle pour indiquer les myarray() mais pour 4 lignes .... pas la peine
Bruno
VB:
Sub test_group_2()
Dim MyArray(4) As Variant
MyArray(1) = Range("O2:S2")
MyArray(2) = Range("T2:X2")
MyArray(3) = Range("Y2:AC2")
MyArray(4) = Range("AD2:AH2")
[O11:Z65000].ClearContents 'efface
For lig = 11 To [J65000].End(3).Row 'boucle de 11 en bas de col J
Range("O" & lig & ":S" & lig).Value = MyArray(Cells(lig, 10)) 'N° de myarray
Range("V" & lig & ":Z" & lig).Value = MyArray(Cells(lig, 11))
Next
End Sub
 

Hoareau

XLDnaute Occasionnel
Voici qui est plus proche et avec tes MyArray,
Possibilité de faire une boucle pour indiquer les myarray() mais pour 4 lignes .... pas la peine
Bruno
VB:
Sub test_group_2()
Dim MyArray(4) As Variant
MyArray(1) = Range("O2:S2")
MyArray(2) = Range("T2:X2")
MyArray(3) = Range("Y2:AC2")
MyArray(4) = Range("AD2:AH2")
[O11:Z65000].ClearContents 'efface
For lig = 11 To [J65000].End(3).Row 'boucle de 11 en bas de col J
Range("O" & lig & ":S" & lig).Value = MyArray(Cells(lig, 10)) 'N° de myarray
Range("V" & lig & ":Z" & lig).Value = MyArray(Cells(lig, 11))
Next
End Sub

Impeccable merci, net et concis

Exactement ce que je souhaitais
Je suppose que si je fais des combinaisons de 3 groupes :
rajouter une ligne range dans le code avec de nouvelles références

Par contre .End(3).Row

je connais .end(xl...)

mais pas .End(3).Row
 

youky(BJ)

XLDnaute Barbatruc
Yes,
[A65000].end(3).row le 3 indique XlUp
exemple pour écrire aprés la dernière ligne dans une BD on utilise souvent
ligne=[A65000].end(3).row+1
les [XFD1] .End(xlToLeft).column et autres peuvent être remplacé par leur N°
Ce dernier code renvoie le N° de la dernière colonne de ligne 1
Bruno
 

Hoareau

XLDnaute Occasionnel
Bonjour

Il y a quelque temps youky(BJ), que je remercie, m'avait fait une macro pour des groupes de de deux.
J'aurai aimé avoir la même chose pour des groupes de trois

Explications sur l'onglet groupe_3 de feuille jointe

merci
 

Pièces jointes

  • Combinaison par groupes de chiffres (s)(s)(s)_2.xlsm
    30.6 KB · Affichages: 34

Statistiques des forums

Discussions
312 927
Messages
2 093 675
Membres
105 781
dernier inscrit
Dominique G.