Boucle qui ne fonctionne pas ...

Résolu/Fermé
saxo91 Messages postés 33 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 17 octobre 2023 - 29 juin 2017 à 05:31
saxo91 Messages postés 33 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 17 octobre 2023 - 30 juin 2017 à 05:39
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


2 réponses

mrjenkins Messages postés 577 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
29 juin 2017 à 07:45
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 :)

--
0
@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.
 
0
saxo91 Messages postés 33 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 17 octobre 2023 1
30 juin 2017 à 05:39
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
0