Impossible de faire de Select VBA

Résolu
linkcr15 Messages postés 423 Statut Membre -  
linkcr15 Messages postés 423 Statut Membre -
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. Utilisateur anonyme
     
    Bonjour,

    décomposer l'instruction :

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

    Cdt

    Lupin
    0
  2. linkcr15 Messages postés 423 Statut Membre 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
  3. 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
  4. linkcr15 Messages postés 423 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. linkcr15 Messages postés 423 Statut Membre 12
     
    Oui, rien à y faire...
    0
  8. linkcr15 Messages postés 423 Statut Membre 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