• Initiateur de la discussion Initiateur de la discussion joris
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

joris

Guest
Bonjour a tous,

j'ai un problem que je n'arrive pas a resoudre le mieux est de vous montrer mon code :


Call fill_tender("Contractual clauses", "A")
Call fill_tender("Price", "B")



Sub fill_tender(page As String, col As String)

For i = 1 To 3
test = Sheet3.Range(col & i).Value
Sheet3.Cells(7 + i, 1).Value = test
If test <> "" Then
Worksheets(page).Cells(3 + 2 * i, 1).Value = i & ")" & Worksheets("Sheet2").Range("A" & test).Value
Worksheets(page).Cells(32 + i, 1).Value = i & ")" & Worksheets("Sheet2").Range("D" & test).Value
Worksheets(page).Cells(32 + i, 7).Value = Worksheets("Sheet2").Range("T" & test).Value
Worksheets(page).Cells(32 + i, 8).Value = Worksheets("Sheet2").Range("R" & test).Value
End If
Next i

End Sub


Voila j'appelle trois fois de suite la fonction fill_tender avec comme parametre le nom de la sheet a remplir plus le nom de la colonne ou sont stoke les infos.
Normallement ils y a des chiffre dans A1 A2 et A3 tout comme dans B1 B2 B3
Cependant quand il n'y en a pas je veux rien faire d'ou le If test <> "" Then
.

Le probleme que j'ai c'est que par exemple si A3 est vide ou B1 la boucle s'arrete et je ne comprend pas pourquoi.

Merci de votre aide

Joris
 
salut,

au premier abord, je ne vois rien qui me choque. As tu essayer de lancer ton code en pas à pas pour voir exactement ce qui se passe ??

sinon essaye de mettre une gestion d'erreur, tu a peut être un truc qu pète.
pour ça, écris


Sub fill_tender(page As String, col As String)

On Error GoTo MonErreur

'ici ton code

exit sub
MonErreur:
MsgBox err.Description
End Sub
 
merci pour ta reponse rapide.

je suis nouveau en vba et je sais pas comment marche le pas a pas.
J'ai essayer de mettre le message d'erreur il dit qu'il n'y pas d'erreur.

Ce qui est bizarre c'est que j'affiche
Sheet3.Cells(7 + i, 1).Value = test

et que quand j'ai bien les trois chiffres A1 A2 A3 et B1 B2 B3 ca marche bien...
sinon si par exemple A3 est vide ca affiche meme pas B1 B2 B3

Je vais continuer a chercher

Merci

Joris
 
re

alors pour le pas à pas, il faut que tu mette un point d'arrêt, pour cela tu click sur la petite bande grise a gauche de ton code au niveau de la ligne ou tu veux qu'il s'arrête donc ici le début de ta fonction.
et ensuite tu avance dans le code en appuyant sur F8 ( tu peut avancer de différente façon, va dans le menu Débogage pour toutes les voir ).
et donc comme ça tu peut regarder ou il passe et qu'elle sont les valeurs de tes variables en passant le curseur dessus.
 
Merci beaucoup Arnaud pour tes conseils.
Grace au mode debugage j'ai trouver mon erreur. Ce n'etait pas une erreur de code tu avais raison mais seulement j'avais mal place mon appel de fonction. Il etait imbrique dans une autre fonction et ce n'etait pas la bonne solution.

Merci encore

Joris
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
703
Réponses
1
Affichages
264
Réponses
4
Affichages
580
Réponses
3
Affichages
834
Retour