chuis planté !

A

alex

Guest
salut,

j'ai un ptit souci avec une macro.
pour ce qui est de son fonctionnement pas de problème en revanche elle n'est pas suffisament "vérouillée" à mon gout.
explication:
il s'agit dans une boite de dialogue de sélectionner un nom pour sélectionner dans une feuille la cellule contenant ce nom. (heu c'est clair ?)
si on lance la macro avec le combobox de la boite de dialogue vide
un msgbox s'ouvre et la macro est réinitialisée.
le problème c'est que je n'arrive pas à faire la même chose si la saisie du nom d'utilisateur est érronée.

ça ressemble à ça:

'**************************************************************
'* intégration de la variable Alex pour la vérification des noms *
'**************************************************************
Sheets("feuil2").Select
Dim Alex As Variant
Set Alex = Range("c6:c30")
'essai



'**********************************************************************
'* selectionne le tableau correspondant au nom de userform1.combobox1 *
'**********************************************************************
'
Sheets("feuil2").Select
Range("a1:a1500").Select

Dim cellulevalue As Range
For Each cellulevalue In Selection.Cells
If cellulevalue = UserForm1.ComboBox1 Then
cellulevalue.Select

End If


Next
'
'**********************************************************************************************************
'* ouverture d'une boite message en cas de non saisie pour inviter à la resaisie et réinitialiser la macro *
'**********************************************************************************************************

If UserForm1.ComboBox1.Text = "" Then

La = "VOUS N'AVEZ RIEN SAISI " & Chr(13) & Chr(10) & "RECOMMENCEZ SVP...!"
boutons = vbOKOnly + vbInformation
titre = "Oups !"
MsgBox La, boutons, titre
Sheets("feuil1").Select
End If



'*******************************************************************************************************************
'* si le nom n'existe pas dans la liste, ouverture d'un message d'erreur et initialisation de la boite de dialogue *
'*******************************************************************************************************************

If UserForm1.ComboBox1.Text <> "Alex" Then
texte = "Ce nom est mal orthographié" & Chr(10) & Chr(13) & "ou n'appartient pas à la liste des profils utilisateurs" & Chr(10) & Chr(13) & "RECOMMENCEZ SVP...!"
boutons = vbOKOnly + vbInformation
titre = "RE Oups...!"
MsgBox texte, boutons, titre

End If
'la y a une couille car ce msgbox s'ouvre même si le nom sélectionné est bon .


Unload Me

End Sub

merci d'avance
 
T

Ti

Guest
je crois que tu as confondu Alex, la variable et "Alex", la chaîne de caractères. C'est pourquoi ton test t'ouvrira toujours le MsgBox. D'autre part, j'ai l'impression que tu n'utilises pas l'option "Option Explicit", ce qui est source d'erreurs vicieuses.
Dans le cas où tu veux effectivement tester la valeur de la variable Alex, alors ça ne marchera pas tel que ton code est écrit, puisque Alex correspond à une plage de cellules et pas à une cellule unique
 
A

alex

Guest
merci Ti pour ta réponse

effectivement j'avais confondue la variable Alex avec le texte "Alex"
une pause s'impose !

le problème reste entier, pour ce qui est de l'option explicit, cela ne semble pas régler le problème bien au contraire, je n'ai plus qu'à changer de tactique

merci encore

alex
 

Discussions similaires

Statistiques des forums

Discussions
312 792
Messages
2 092 142
Membres
105 235
dernier inscrit
loisipubm