Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 15/04/2005, 20h51   #1 (permalink)
carlos
Guest
 
Messages: n/a
Par défaut revenir d'une boucle i en arriere si "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
  Réponse avec citation
ANNONCES
Vieux 15/04/2005, 22h26   #2 (permalink)
XLDnaute Junior
 
Date d'inscription: avril 2005
Messages: 63
Par défaut Re:revenir d'une boucle i en arriere si "a"

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
21ch181 est déconnecté   Réponse avec citation
Vieux 16/04/2005, 10h44   #3 (permalink)
carlos
Guest
 
Messages: n/a
Par défaut Re:revenir d'une boucle i en arriere si "a"

Bonjour et bon WE

Voici un fichier joint.

Merci [file name=Transformer.zip size=8727]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Transformer.zip[/file]
Fichiers attachés
Type de fichier : zip Transformer.zip (8,5 Ko, 2 affichages)
  Réponse avec citation
Vieux 16/04/2005, 21h45   #4 (permalink)
XLDnaute Junior
 
Date d'inscription: avril 2005
Messages: 63
Par défaut Re:revenir d'une boucle i en arriere si "a"

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
21ch181 est déconnecté   Réponse avec citation
Vieux 16/04/2005, 22h14   #5 (permalink)
carlos
Guest
 
Messages: n/a
Par défaut Re:revenir d'une boucle i en arriere si "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
  Réponse avec citation
Vieux 17/04/2005, 10h27   #6 (permalink)
XLDnaute Junior
 
Date d'inscription: avril 2005
Messages: 63
Par défaut Re:revenir d'une boucle i en arriere si "a"

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
21ch181 est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 01h49.


(C) 2006 Excel Downloads