Impossible de faire de Select VBA

Résolu/Fermé
linkcr15 Messages postés 362 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 31 mars 2016 - 4 juin 2012 à 16:26
linkcr15 Messages postés 362 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 31 mars 2016 - 5 juin 2012 à 09:42
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
4 juin 2012 à 16:59
Bonjour,

décomposer l'instruction :

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

Cdt

Lupin
0
linkcr15 Messages postés 362 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 31 mars 2016 12
4 juin 2012 à 17:21
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
4 juin 2012 à 17:47
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 mercredi 7 janvier 2009 Statut Membre Dernière intervention 31 mars 2016 12
4 juin 2012 à 17:57
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
4 juin 2012 à 18:31
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 mercredi 7 janvier 2009 Statut Membre Dernière intervention 31 mars 2016 12
5 juin 2012 à 08:59
Oui, rien à y faire...
0
linkcr15 Messages postés 362 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 31 mars 2016 12
5 juin 2012 à 09:42
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