• Initiateur de la discussion Initiateur de la discussion alex
  • 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 !

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
 
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
 
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
 
- 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
10
Affichages
653
Réponses
3
Affichages
833
Réponses
2
Affichages
922
Retour