![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir à tous
voila g cette macro qui me transforme une suite de 1 à 28 chiffres inscrit dans une colonne Plage en 7 paquets de 4 numerotés 1,1,1,1 puis2,2,2,2 etc.... jusqu'a 7 For i = 1 To 8 For Each cellMD In Range('g4:g44') If cellMD <> Empty And cellMD <> 'A' And cellMD <= 4* i And cellMD >= 4 * (i - 1) _ Then cellMD.Offset(0, 0).Value = 1 * i Next Next i Quand il y a un 'A' dans une cellule de cette plage , il passe à la cellMD suivante. mon souci c'est que si il y a un 'A' dans la cellule alors je n'ai que 3 chiffres de 2 par exemple au lieu d'en avoir 4 car une boucle i est passée. Comment faire pour que si il y a un 'A' alors cette boucle i ne perde pas son tour . g essayé i = i - 1 mais ca va pas ... Merci |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Junior
Date d'inscription: avril 2005
Messages: 63
|
Bonsoir Carlos,
J'aurais souhaité pouvoir t'aider mais en recopiant ta macro elle ne fait pas ce que tu annonces. Ce serait sympa que tu nous donnes une copie de ta macro qui fonctionne tel que tu l'as décrit si tu souhaites une aide adhoc ! Cordialement |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Junior
Date d'inscription: avril 2005
Messages: 63
|
Bonsoir Carlos,
Je t'ai trouvé une solution ! Mais comme il y avait une petite erreur dans ta macro initiale j'ai galéré un peu !! En effet dans ton test '>=' il ne faut pas qu'il y est '=' ! Ceci étant corrigé, voici la solution que je te propose (si j'ai bien compris ton pb !) : Sub montDesc() Dim i As Byte, cellMD As Variant Dim k, j As Integer For i = 1 To 8 k = 0 For Each cellMD In Range('g4:g44') If cellMD = 'A' Then k = k + 1 j = cellMD.Row - k - 3 If cellMD <> Empty And cellMD <> 'A' And (cellMD.Row - k - 3) <= 4 * i And (cellMD.Row - k - 3) > 4 * (i - 1) _ Then cellMD.Offset(0, 0).Value = 1 * i Next Next i End Sub J'ai rajouter la variable k qui sert à compter le nombre de 'A' et j'utilise la propriété 'row' d'une cellule de la plage (puisque tu ne travailles que sur une seule colonne. Ainsi quelque soit le nombre de 'A' et leur position, les 'paquets' auront toujours 4 valeurs (sauf en fin de liste bien sur si tu n'as un nombre de valeurs sans 'A' multiple de 4). Je t'ai mis en rouge mes modifications. Voilà ! Bon courage, bonne continuation. Alain |
|
|
|
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir Alain
c'est vraiment tres sympa de m'aider et c'est pas la premiere fois. Grace à toi mon projet evolue de jour en jour et mes connaissances aussi.Et en plus il y a les couleurs pour me faciter la comprehension . AU TOP @ bientot sur le net et bon dimanche |
|
|
|
#6 (permalink) |
|
XLDnaute Junior
Date d'inscription: avril 2005
Messages: 63
|
Bonjour Carlos et le Forum,
Ce fut un plaisir ! Je viens de voir que j'avais fait quelques fautes d'orthographe : mille excuses, parfois entre l'heure, la vue qui baisse, la frappe au clavier (je ne suis pas de formation secrétariat !!), il y en a un qui me frappe sauvagement et me fait commettre la faute !! Au plaisir Alain |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|