IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle For Each DropDownList // Parcourir une plage de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : juillet 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Boucle For Each DropDownList // Parcourir une plage de cellules
    Bonjour à tous,

    Je débute en VBA et en code tout court. J'aimerais réaliser une macro qui permettrait à l'utilisateur d'entrer un mot grâce à la fonction inputBox, ce mot viendrait alimenter une plage de cellules ( colonne D ) où il y aurait déjà des infos. De plus, ce mot se placerait au début avant toutes les autres propositions ( Colonne D , D1 = titre ). Le problème c'est que je n'arrive pas à faire ça dynamiquement, j'ai essayé de parcourir ma plage de cellule avec ma boucle For Each afin que la DropDownList affiche toutes les cellules renseignés (il pourrait en avoir n) mais je n'arrive pas à comprendre comment gérer la boucle For Each !

    Voici mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    Sub macro_dropDownList()
    
        Range("D2").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        valeur = InputBox("Entrez le nom du model")
        Range("D2").Value = valeur
        
        For Each c In Worksheets("DropDownList").Range("D2:D100").Cells
        
        ActiveWorkbook.Names("Model_vehicules").RefersToR1C1 = _
            "=DropDownList!$D$2:$D$100"
        Next
    Vous pouvez voir que j'ai entrer le Range en "dur" jusqu'à 100, ce n'est pas mon but, vu que je veux que le Range commence à 2 et finisse la où il n'y aura plus de propositions.


    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 938
    Points : 5 128
    Points
    5 128
    Par défaut
    Bonjour,

    Essayez ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        On Error Resume Next
        Range("D2").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        valeur = InputBox("Entrez le nom du model")
        Range("D2").Value = valeur
        ActiveWorkbook.Names("Model_vehicules").Delete 'on détruit la liste existante
        DerLig = Range("D2").End(xlDown).Row 'on recherche la dernière ligne de la liste
        ActiveWorkbook.Names.Add Name:="Model_vehicules", RefersToR1C1:="=DropDownList!R2C4:R" & DerLig & "C4" ' on crée la liste de noms
    Cdlt

Discussions similaires

  1. [PowerShell] remplacer une boucle for each + traitement par une fonction en pipe
    Par markham dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 18/10/2015, 20h37
  2. Parcourir une plage de cellules
    Par youbewt dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/11/2013, 21h03
  3. [AC-2003] Boucle for each qui parcourt une liste
    Par caesar23 dans le forum IHM
    Réponses: 2
    Dernier message: 10/06/2010, 14h48
  4. boucle for each next : sauter une valeur
    Par scavenger dans le forum VBScript
    Réponses: 1
    Dernier message: 18/02/2009, 10h15
  5. [VBA] Parcourir une plage de cellule
    Par Dinytro dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2005, 08h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo