Probleme de formule dans une macro

cs_Pierre77 Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 5 décembre 2006 - 25 août 2005 à 12:08
sacha1435 Messages postés 94 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 12 octobre 2005 - 26 août 2005 à 11:28
Bonjour à tous

J'ai un petit probleme avec ce bout de code:


For i = 1 To 10

'si la valeur de la cellule est différente à la valeur de JE1_A1
If ActiveCell.Offset(i, 0).Value <> JE1_A1.Value Then
'alors je met cette valeur dans la liste JE1_B1
'JE1_B1.AddItem i
If i = 1 Then
JE1_B1.AddItem Sheets("Nom").Range("C2")
ElseIf i = 2 Then
JE1_B1.AddItem Sheets("Nom").Range("C3")
ElseIf i = 3 Then
JE1_B1.AddItem Sheets("Nom").Range("C4")
ElseIf i = 4 Then
JE1_B1.AddItem Sheets("Nom").Range("C5")
ElseIf i = 5 Then
JE1_B1.AddItem Sheets("Nom").Range("C6")
ElseIf i = 6 Then
JE1_B1.AddItem Sheets("Nom").Range("C7")
ElseIf i = 7 Then
JE1_B1.AddItem Sheets("Nom").Range("C8")
ElseIf i = 8 Then
JE1_B1.AddItem Sheets("Nom").Range("C9")
ElseIf i = 9 Then
JE1_B1.AddItem Sheets("Nom").Range("C10")
ElseIf i = 10 Then
JE1_B1.AddItem Sheets("Nom").Range("C11")
End If
End If
Next i


le probleme vient de mon 1er IF.

Je viens en fait comparer une valeur (qui se trouve etre le nom et le prenom d'une personne, donc du text) dans une liste se trouvant sur une feuille Excel avec une valeur que je rentre grace à un combobox se rapportant à cette liste.

Hors quand la valeur est identique ma condition ne fonctionne pas et elle considere que ces 2 valeurs ne le sont pas.

Est ce que quelqu'un aurait une solution à mon probleme.
Merci d'avance de votre aide
Pierre

PS: Je peux vous fournir un fichier pour plus de comprehention.

6 réponses

Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
25 août 2005 à 12:37
Je ne suis pas sûr d'avoir bien compris ton problème, mais peut être quand modifiant ton code comme ci-dessous, ça marchera mieux.

**********************************************
Dim Valeur1 As String, Valeur2 as string

For i = 1 To 10
Valeur1 = ActiveCell.Offset(i, 0).Value
Valeur2 = JE1_A1.Value

'si la valeur de la cellule est différente à la valeur de JE1_A1
If Not Valeur1 = Valeur2 Then
'alors je met cette valeur dans la liste JE1_B1
'JE1_B1.AddItem i
If i = 1 Then
JE1_B1.AddItem Sheets("Nom").Range("C2")
ElseIf i = 2 Then
JE1_B1.AddItem Sheets("Nom").Range("C3")
ElseIf i = 3 Then
JE1_B1.AddItem Sheets("Nom").Range("C4")
ElseIf i = 4 Then
JE1_B1.AddItem Sheets("Nom").Range("C5")
ElseIf i = 5 Then
JE1_B1.AddItem Sheets("Nom").Range("C6")
ElseIf i = 6 Then
JE1_B1.AddItem Sheets("Nom").Range("C7")
ElseIf i = 7 Then
JE1_B1.AddItem Sheets("Nom").Range("C8")
ElseIf i = 8 Then
JE1_B1.AddItem Sheets("Nom").Range("C9")
ElseIf i = 9 Then
JE1_B1.AddItem Sheets("Nom").Range("C10")
ElseIf i = 10 Then
JE1_B1.AddItem Sheets("Nom").Range("C11")
End If
End If
Next i
***********************************************
0
cs_Pierre77 Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 5 décembre 2006
25 août 2005 à 12:45
Bonjour Tuning Max
Je te remercie pour ta reponse car je viens de faire l'essai et ca ma l'air de bien fonctionner, je vais pousser un peu plus loin dans ce sens.

Merci vraiment pour ta reponse.
0
cs_Pierre77 Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 5 décembre 2006
25 août 2005 à 12:45
Bonjour Tuning Max
Je te remercie pour ta reponse car je viens de faire l'essai et ca ma l'air de bien fonctionner, je vais pousser un peu plus loin dans ce sens.

Merci vraiment pour ta reponse.
0
sacha1435 Messages postés 94 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 12 octobre 2005 2
25 août 2005 à 12:50
Bonjour,

juste pour évité de petit problème vu que ce sont des chaînes de charactères

Dim Valeur1 As String, Valeur2 as string

For i = 1 To 10
Valeur1 = Lcase(ActiveCell.Offset(i, 0).Value )
Valeur2 = Lcase(JE1_A1.Value)

'si la valeur de la cellule est différente à la valeur de JE1_A1
If Not Valeur1 = Valeur2 Then
'alors je met cette valeur dans la liste JE1_B1

Sacha

\!/
00
!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Pierre77 Messages postés 8 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 5 décembre 2006
26 août 2005 à 10:16
Bonjour sacha1435

je ne connais pas ce "Lcase" pourrais tu me donner des info sur l'utilisation de celui-ci, merci d'avance
0
sacha1435 Messages postés 94 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 12 octobre 2005 2
26 août 2005 à 11:28
Salut,

Les fonctions Ucase : toute la chaine de texte est mise en majuscule; Lcase l'inverse tout en minuscule.

Je le dis car j'ai eu des soucis avec un code qui reprenait des nombres en format "String" sans ce Lcase j'avais une erreure dans un test, cela retournai un "False" au lieu de "True".

Mais dans l'aide Vb tu trouveras toutes les info concernant ces fonctions

Sacha

\!/
00
!
0
Rejoignez-nous