Boucle qui ne fonctionne pas ...
Résolu
saxo91
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
saxo91 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
saxo91 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
j'ai un petit problème qui me bloque complètement dans mon "apprentissage" :
Je n'arrive pas à comprendre pourtant j'ai 2 livres devant moi et le net ... dommage.
Si quelqu'un veut bien m'aider ce serait top.
Je m'explique, je sais que cela a déjà été posé mais je n'arrive pas à renvoyer des données d'une feuille appelée FICHE CDE vers une feuille appeler SYNTHESE via VBA quand je valide ma commande (je vais mettre un bouton validation) !
Parfois, il ne me prend qu'une ligne, parfois rien ...
Pour le moment je teste cela :
Sub Synthese()
Dim i
Set a = Sheets("SYNTHESE")
Set b = Sheets("FICHE CDE")
derln = a.Range("A" & Rows.Count).End(xlUp)(2).Row
Do
If i = "T" Then
a.Range("A" & derln) = b.Range("F10")
a.Range("B" & derln) = b.Range("H17")
a.Range("F" & derln) = b.Range("F20")
a.Range("G" & derln) = b.Range("B20")
a.Range("H" & derln) = b.Range("D20")
a.Range("I" & derln) = b.Range("E20")
End If
Loop
End Sub
Mais cela tourne en boucle et ne fait rien ...
Help please, avec expliaction ce serait idéal
Merci d'avance de votre compréhension ...
Je mets mon tableau ici : http://www.cjoint.com/c/GFDdDYffMnR
Il y a des bouts de code que je vais essayer de compiler après, mais comme cela vous pouvez voir ce que je veux faire
Merci
Louisa
j'ai un petit problème qui me bloque complètement dans mon "apprentissage" :
Je n'arrive pas à comprendre pourtant j'ai 2 livres devant moi et le net ... dommage.
Si quelqu'un veut bien m'aider ce serait top.
Je m'explique, je sais que cela a déjà été posé mais je n'arrive pas à renvoyer des données d'une feuille appelée FICHE CDE vers une feuille appeler SYNTHESE via VBA quand je valide ma commande (je vais mettre un bouton validation) !
Parfois, il ne me prend qu'une ligne, parfois rien ...
Pour le moment je teste cela :
Sub Synthese()
Dim i
Set a = Sheets("SYNTHESE")
Set b = Sheets("FICHE CDE")
derln = a.Range("A" & Rows.Count).End(xlUp)(2).Row
Do
If i = "T" Then
a.Range("A" & derln) = b.Range("F10")
a.Range("B" & derln) = b.Range("H17")
a.Range("F" & derln) = b.Range("F20")
a.Range("G" & derln) = b.Range("B20")
a.Range("H" & derln) = b.Range("D20")
a.Range("I" & derln) = b.Range("E20")
End If
Loop
End Sub
Mais cela tourne en boucle et ne fait rien ...
Help please, avec expliaction ce serait idéal
Merci d'avance de votre compréhension ...
Je mets mon tableau ici : http://www.cjoint.com/c/GFDdDYffMnR
Il y a des bouts de code que je vais essayer de compiler après, mais comme cela vous pouvez voir ce que je veux faire
Merci
Louisa
A voir également:
- Sortir boucle for vba
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
2 réponses
Salut
Y a tellement de problèmes dans ce code..
1. tu déclares i, mais tu ne lui attribues jamais de valeur → il ne passe jamais dans ton if
2. tu n'as pas de condition de sortie de ta boucle → il ne s’arrêtera jamais
3. je pense que tu veux ajouter un +1 à ta derln, sinon tu vas constamment réécrire sur ta dernière ligne
Bon courage :)
--
Y a tellement de problèmes dans ce code..
1. tu déclares i, mais tu ne lui attribues jamais de valeur → il ne passe jamais dans ton if
2. tu n'as pas de condition de sortie de ta boucle → il ne s’arrêtera jamais
3. je pense que tu veux ajouter un +1 à ta derln, sinon tu vas constamment réécrire sur ta dernière ligne
Bon courage :)
--
@saxo91
Bonjour Louisa,
Je te retourne ton fichier Excel modifié :
https://mon-partage.fr/f/baItEp6X/
J'ai refait ta sub Synthese() ; à l'ouverture du fichier,
tu es sur la feuille "SYNTHESE", en B132 : tu peux
mieux voir ce qui va être écrit en dessous, à partir
de la 1ère ligne inutilisée (ici la ligne n° 149).
Ctrl e => ça exécute ta macro "Synthese"
Tu peux faire Ctrl e depuis n'importe quelle feuille.
Merci de me dire si ça te convient.
Bonjour Louisa,
Je te retourne ton fichier Excel modifié :
https://mon-partage.fr/f/baItEp6X/
J'ai refait ta sub Synthese() ; à l'ouverture du fichier,
tu es sur la feuille "SYNTHESE", en B132 : tu peux
mieux voir ce qui va être écrit en dessous, à partir
de la 1ère ligne inutilisée (ici la ligne n° 149).
Ctrl e => ça exécute ta macro "Synthese"
Tu peux faire Ctrl e depuis n'importe quelle feuille.
Merci de me dire si ça te convient.
Bonjour Fred,
Oh que oui, cela me convient parfaitement ! je te remercie mille fois.
J'ai du décalage horaire, d'ou ma réponse tardive ou matinale ...
En lisant le code, cela me paraît tellement clair mais quand il faut l'écrire je bloque ....
Encore mille merci, je vais garder la trame bien au chaud et faire des exercices avec sur les boucles.
Bonne journée
Louisa
Oh que oui, cela me convient parfaitement ! je te remercie mille fois.
J'ai du décalage horaire, d'ou ma réponse tardive ou matinale ...
En lisant le code, cela me paraît tellement clair mais quand il faut l'écrire je bloque ....
Encore mille merci, je vais garder la trame bien au chaud et faire des exercices avec sur les boucles.
Bonne journée
Louisa