Impossible de faire de Select VBA

Résolu
linkcr15 Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   -  
linkcr15 Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai protégé ma feuille et je souhaite faire ajouter une liste déroulante dans une cellule. Voici mon code :
Sheets("Compte rendu").Rows(compteur2).Insert
                Sheets("Compte rendu").Unprotect
                Sheets("Compte rendu").Range("A" & compteur2 & ": I" & compteur2).Locked = False
                Sheets("Compte rendu").Cells(compteur2, 1).Interior.Color = RGB(0, 0, 0)
                Sheets("Compte rendu").Cells(compteur2, 2).Interior.Color = RGB(0, 0, 0)
                Sheets("Compte rendu").Cells(compteur2, 3) = Usr_Ajouter.Txt_Nature.Text
                Sheets("Compte rendu").Cells(compteur2, 3).Interior.ColorIndex = xlNone
                Sheets("Compte rendu").Unprotect
                Sheets("Compte rendu").Range("D" & compteur2).Select
                With Selection.Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                    xlBetween, Formula1:="Fonctionnement interne;Ressources humaines;Suivi client;Système QSE"
                    .IgnoreBlank = True
                    .InCellDropdown = True
                    .InputTitle = ""
                    .ErrorTitle = ""
                    .InputMessage = ""
                    .ErrorMessage = ""
                    .ShowInput = True
                    .ShowError = True
                End With


Cependant, le code plante à cette ligne :

 Sheets("Compte rendu").Range("D" & compteur2).Select


Je ne comprends pas car c'est un simple select... Et en plus la feuille n'est pas protégé...

Est-ce que quelqu'un peut m'aider à mettre cette liste déroulante dans cette cellule svp?

Merci d'avance pour vos réponses!

7 réponses

Utilisateur anonyme
 
Bonjour,

décomposer l'instruction :

Sheets("Compte rendu").Select
Range("D" & compteur2).Select

Cdt

Lupin
0
linkcr15 Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   12
 
Aprés plusieurs test, l'erreur ne vient pas du .Select mais du .Add de Validation.
Je n'arrive pas à le faire fonctionner, je ne sais pas pourquoi...
0
Utilisateur anonyme
 
re:

Je vois, je crains fort ne pas pouvoir t'aider plus :-(

Pour ma part, je travaille autrement :

Je définis une plage d'adresse par programmation et
j'ajoute ainsi la validation.

ex.:

Dim Serie As String

Serie = "E4:E8"

Cellule.Validation.Delete
Cellule.Validation.Add Type:=xlValidateList, _
                                AlertStyle:=xlValidAlertStop, _
                                Operator:=xlBetween, _
                                Formula1:=Serie


Cdt

Lupin
0
linkcr15 Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   12
 
J'ai essayé avec un Range aussi mais rien à y faire, impossible d'insérer une liste déroulante dans une cellule...
Je posterais si je trouve mon problème mais je pense ne pas utiliser ces listes et me débrouiller autrement...
Merci quand même pour ton aide!
0

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

Posez votre question
Utilisateur anonyme
 
re:

tu as initialisé ta cellule avant ?

Selection.Value =""

Serie = "E4:E8"

Selection.Validation.Delete
Selection.Validation.Add Type:=xlValidateList, _
                                AlertStyle:=xlValidAlertStop, _
                                Operator:=xlBetween, _
                                Formula1:=Serie


Cdt

Lupin
0
linkcr15 Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   12
 
Oui, rien à y faire...
0
linkcr15 Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   12
 
J'ai finalement réussi à le faire fonctionner! J'ai pas vraiment compris pourquoi ça ne fonctionnait pas avant et que maintenant ça marche mais bon... Je vous fait part de mon code quand même :

Dim NewAddress As String
                NewAddress = "J1:J4"
                Sheets("Compte rendu").Activate
                Sheets("Compte rendu").Unprotect
                Range("D" & compteur2).Select
                With Selection.Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                    xlBetween, Formula1:="=" & NewAddress
                    .IgnoreBlank = True
                    .InCellDropdown = True
                    .InputTitle = ""
                    .ErrorTitle = "Interdit"
                    .InputMessage = ""
                    .ErrorMessage = _
                    "Veuillez sélectionner une valeur dans la liste déroulante de la cellule."
                    .ShowInput = True
                    .ShowError = True
                End With
0