Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

chuis planté bis !

A

alex

Guest
resalut,

j'ai pas beaucoup avancé depuis hier, je n'arrive toujours pas faire tourner cette macro de manière complète.

énoncé du problème (la s'est plus une question mais un appel au secours !):

soit une plage de cellule (feuil1 c6:c30) contenant des noms, prénoms.
cette plage c'est la rowsource de mon userform1.combobox1.

lorsque un utilisateur ouvre le userform1, et selectionne un nom, une cellule contenant ce nom est sélectionnée dans feui2.

problème, si la personne en question valide (par inadvertance..!) le combobox1 vide, pas de souci la macro est réinitialisée, avec un ptit msgbox tendre invitant à recommencer.

deuxième problème, l'utilisateur renseigne manuellement le combobox1 et fait une faute de frappe ! (si si ça arrive...!)
c'est la que je plante,

pour info:

rivate Sub commandbutton1_Click()

'**************************************************************
'* intégration de variables pour la vérification des noms *chuis sur
'* ça vas foirer alors j'essaie sur les deux premières cellules
'**************************************************************

Sheets("feuil2").Select
Range("c6").Select
Dim A As Integer
Range("c7").Select
Dim B As Integer
'***************
'* vérif des noms *
'***************

If UserForm1.ComboBox1 <> A Or B 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
'ben non ça marche même avec le bon orthographe OUINNN

'**********************************************************************
'* selectionne le tableau correspondant au nom de userform1.combobox1 *
'**********************************************************************
'bon ça c'est ok

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 resaisi et réinitialiser la macro *
'**********************************************************************************************************
'ça aussi
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



MERCI

alex
 
Y

Yvette

Guest
Voici une macro qui fonctionne (si j'ai bien compris ce que tu souhaites faire ...)
Private Sub commandbutton1_Click()
UserForm1.Hide

'* ouverture d'une boite message en cas de non saisie pour inviter à la ressaisie et réinitialiser la macro *
'************************************************************
If ComboBox1.Value = "" 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

'************************************************************
'* selectionne le tableau correspondant au nom de userform1.combobox1 *
'************************************************************
Sheets("feuil2").Range("a1:a1500").Select
Dim cell As Range
For Each cell In Selection.Cells
If cell = ComboBox1.Value Then
cell.Select
End If
Next

Unload Me
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub


Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Feuil1!C6:C30"
ComboBox1.Style = fmStyleDropDownList
End Sub

Pour éviter d'entrer un nom mal orthographié, mets le style de ton ComboBox sur 2 - fmStyleDropDownList tout simplement - ainsi on ne peut que sélectionner les noms qui sont dans le combobox.
 

Discussions similaires

Réponses
2
Affichages
657
Réponses
2
Affichages
321
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…