Impossible de faire de Select VBA

Résolu
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

  1. Bonjour,

    décomposer l'instruction :

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

    Cdt

    Lupin
    0
    1. 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
      1. 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
        1. 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
          1. 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
            1. Oui, rien à y faire...
              0
              1. 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