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 :

Selection de plusieurs plages avec une variable [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Selection de plusieurs plages avec une variable
    Bonjour le forum,
    Voilà mon problème de débutant : Je souhaite sélectionner les plages Br-Dr et Fr-Hr (avec r une variable (appelé compteur dans le code)) le tout en une seule ligne. J'ai fait ça mais ça ne fonctionne pas :

    Range(Cells(compteur, 2) & Cells(compteur, 4) & ":" & Cells(compteur, 6) & Cells(compteur, 8)).Select

    Ma demande est-elle réalisable ? Si oui, quelqu'un pourrait m'éclairer
    Merci d'avance
    Un apprenti codeur

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le plus simple est de nommer les plages non contiguës.
    Pour l'exemple la plage est nommée pPlageConstante

    Exemple avec la méthode Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("pPlageConstante").Select
    Exemple pour supprimer le contenu de cette plage avec la méthode ClearContents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("pPlageConstante").ClearContents
    pPlageConstante =Feuil1!$B$3:$B$15;Feuil1!$D$3:$D$7;Feuil1!$F$9:$F$15
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Merci mais du coup j'ai toujours un soucis avec la déclaration de ma plage. J'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Dim Plage As Range
        Set Plage = Cells(compteur,2):Cells(compteur,4),Cells(compteur,6):Cells(compteur,8)
    Il y a une erreur mais je ne connais pas bien la syntaxe du langage et je ne sait pas comment faire
    Merci d'avance

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Merci mais du coup j'ai toujours un soucis avec la déclaration de ma plage
    J'ai écrit
    Le plus simple est de nommer les plages non contiguës.
    Connais-tu l'outil gestionnaire des noms ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Pas du tout, je débute en VBA ...
    Qu'entends-tu par "les plages non contiguës " ?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pas du tout, je débute en VBA ...
    Qu'entends-tu par "les plages non contiguës " ?
    Cela n'a rien à voir avec le VBA, c'est Excel

    On appelle "plage" (de cellules) dès qu'il y a plus d'une cellule. Exemple : A2:C10
    A2:C10 est une plage contiguë
    A2:C10; E20:E30; F30:H40 est une plage non contiguë

    La sélection d'une plage non contiguë se fait en appuyant sur la touche Ctrl

    En VBA nommer cette plage non contiguë et la sélectionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub T()
     ' Exemple pour les cellules A2:C10; E20:E30; F30:H40
     Const addr As String = "=Feuil1!$A$2:$C$10,Feuil1!$E$20:$E$30,Feuil1!$F$30:$H$40"
     ThisWorkbook.Names.Add Name:="maPlage", RefersTo:=addr
     Range("maPlage").Select
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre actif
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Points : 224
    Points
    224
    Par défaut
    Bonjour à tous,

    une autre solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    r=2
    Range("B" & r & ":D" & r & ",F" & r & ":H" & r).Select
     'ou
    Union(Range(Cells(r, 2), Cells(r, 4)), Range(Cells(r, 6), Cells(r, 8))).Select
    A+

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Merci à tous les deux ! La solution de Algoplus fonctionne !
    Bonne après-midi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nom de plage avec une variable
    Par vesuve321 dans le forum Excel
    Réponses: 2
    Dernier message: 26/06/2014, 20h22
  2. [XL-2010] Selection userform avec une variable
    Par bastou93 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/06/2011, 22h55
  3. Selection d'une plage avec ligne variable
    Par ginkas31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/01/2008, 07h04
  4. Selection de plusieurs colonnes avec une zone de liste
    Par vinzeffect dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2007, 22h51
  5. Requête selection avec une variable de date
    Par kahmsin dans le forum Access
    Réponses: 7
    Dernier message: 20/11/2005, 19h38

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