Problème de boucle/condition

Bonjour, comme le titre l'indique, j'ai un problème avec ma boucle/condition.

J'ai créé trois boutons de commande, afin que chacun affiche trois valeurs différentes. J'ai calculé ces valeurs dans les feuilles "Nq", "Nc" et "Ng" et elles dépendent toutes d'une même valeur.

Dans la feuille active j'introduis donc une valeur au hasard et j'aimerais bien que la boucle retrouve les 3 valeurs correspondantes.

C'est là qu'arrive le problème, si je mets =0 les 3 valeurs s'affichent, si je mets par exemple =10 rien ne s'affichent et excel ne me dit pas qu'il y a un problème à mon code, mais si je mets par exemple =Nq!A210 (qui est =10) alors là ça fonctionne, il affiche correctement les trois valeurs ...

Je ne vois vraiment pas comment résoudre ce problème donc si quelqu'un a une idée ça serait super

D'avance merci

PS : J'espère que j'ai été assez claire, si ce n'est pas le cas, n'hésitez pas à demander des éclaircissements

Et voici mon code :

Private Sub CommandButton21_Click()

For i = 10 To 410

If ActiveSheet.Range("F2").Value = Sheets("Nq").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("B13").Value = Sheets("Nq").Range("C" + CStr(i)).Value

End If

If ActiveSheet.Range("F2").Value = Sheets("Nc").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("B14").Value = Sheets("Nc").Range("C" + CStr(i)).Value

End If

If ActiveSheet.Range("F2").Value = Sheets("Ng").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("B15").Value = Sheets("Ng").Range("C" + CStr(i)).Value

End If

Next i

End Sub

Private Sub CommandButton22_Click()

For i = 10 To 410

If ActiveSheet.Range("F2").Value = Sheets("Nq").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("E13").Value = Sheets("Nq").Range("D" + CStr(i)).Value

End If

If ActiveSheet.Range("F2").Value = Sheets("Nc").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("E14").Value = Sheets("Nc").Range("D" + CStr(i)).Value

End If

If ActiveSheet.Range("F2").Value = Sheets("Ng").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("E15").Value = Sheets("Ng").Range("D" + CStr(i)).Value

End If

Next i

End Sub

Private Sub CommandButton23_Click()

For i = 10 To 410

If ActiveSheet.Range("F2").Value = Sheets("Nq").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("H13").Value = Sheets("Nq").Range("E" + CStr(i)).Value

End If

If ActiveSheet.Range("F2").Value = Sheets("Nc").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("H14").Value = Sheets("Nc").Range("E" + CStr(i)).Value

End If

If ActiveSheet.Range("F2").Value = Sheets("Ng").Range("B" + CStr(i)).Value Then

ActiveSheet.Range("H15").Value = Sheets("Ng").Range("E" + CStr(i)).Value

End If

Next i

End Sub

bonjour

bien venue

je pense qu'avec un fichier exemple( tu enlevé les données non divulguable) ce serais plus facile a essayer de résoudre le problème

cordialement

Voici le document excel

D'avance merci

Vous ne pouvez pas trouver de "10" dans vos colonnes B car ce ne sont que des chiffre en dessous de 1

Dans vos lignes de code, vous recherchez dans la colonne "B" (exemple ci-dessous)

If ActiveSheet.Range("F2").Value = Sheets("Nq").Range("B" + CStr(i)).Value Then

Donc peut-être changer le Range("B"+... en Range("A"+...

Si vous recherchez l'équivalent en degré il faut appliquer une recherche sur la colonne A sinon pour les radians en colonne B...

Déjà merci d'avoir répondu aussi rapidement

Si je ne me trompes pas F2 représente l'angle en radian et je fais la boucle dans la colonne B qui est aussi en radian donc je ne vois pas vraiment où est le problème :/

Et puis je viens d'essayer en mettant D2 et en faisant la boucle dans la colonne A mais ça ne change rien

Si je ne me trompes pas F2 représente l'angle en radian et je fais la boucle dans la colonne B qui est aussi en radian donc je ne vois pas vraiment où est le problème :/

si je mets par exemple =10 rien ne s'affichent et excel ne me dit pas qu'il y a un problème

Ce qui me semble être un premier problème, c'est que vous recherchez la valeur 10 dans une colonne contenant que des valeurs inférieur à 1

Ensuite, pour qu'excel affiche un message d'erreur quand il ne trouve pas, il faut le programmer pour, sinon il ne fera rien. C'est un peu comme la fonction Si(). Si ca = ca alors je fais ceci sinon je fais cela. qui traduit en anglais donne if ca = ca then ceci else cela

Ceci étant dit, sans trop avoir plongé mon nez dans le détail du fichier, une macro n'est pas élémentaire, une fonction de type recherchev ou le couple index+equiv peut faire l'affaire

Merci pour le conseil, parce que je suis pas douée pour écrire un code donc ça va me faciliter la vie :p

Par contre, je viens d'essayer avec la fonction "recherchev" et de nouveau, ça ne fonctionne que si je mets =Nq!A110, si j'écris =10 excel affiche #N/A

bonjour

un RECHERCHEV, ne règle pas l'affaire???

cordialement

Pas vraiment vu que de nouveau je dois mettre =Nq!A110 pour que ça fonctionne :/

C'est comme si excel considérait que la formule que j'ai mis dans la colonne A des tableaux des pages Nq, Nc et Ng ne sont pas des chiffres ...

Que donc quand il cherche =10 il ne trouve pas vu que j'ai mis une formule =A109+0,1, je pourrais résoudre le problème en introduisant les nombres de 0 à 40 à la main mais ça ferait 400 nombres à introduire donc si quelqu'un à une meilleure idée, je suis preneuse

la réponse à une de vos questions se trouve ici.

https://msdn.microsoft.com/fr-fr/library/ch47ss2a.aspx

Cstr(i) convertit vos réponses en format texte.

De plus je vous cite

Que donc quand il cherche =10 il ne trouve pas vu que j'ai mis une formule =A109+0,1

Vous parlez de la colonne A qui contient des dégrés alors que le sujet ce sont les radians en colonne B.

Je vous laisse faire le point avec vous même sur ce que vous voulez réellement car ce n'est pas très clair

Bonjour

étirer de 0 a 0.9

puis sectionner dans la colonne A de la ligne 10 a 19

et puis étirer tous cela jusqu'a 40

metre un copié collé dur les 3 feuilles

je pourrais résoudre le problème en introduisant les nombres de 0 à 40 à la main mais ça ferait 400 nombres à introduire donc si quelqu'un à une meilleure idée, je suis preneuse

et le tour est joué

Désolé Frédéric38 pour le manque de clarté, c'est vraiment pas mon fort C'est clair dans ma tête mais pas par écrit

Iliyes, un tout grand merci parce que maintenant le programme fonctionne comme je le voulais !!

re

pas de problème mon ami

fière de vous avoir aidé

cordialement

ben voyons...

Rechercher des sujets similaires à "probleme boucle condition"