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 :

Sélectionner un groupe de lignes


Sujet :

Macros et VBA Excel

  1. #21
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MyRange = Range(union(range1,range2..))
    montre ton code entier car normalement ce que tu as ecris c'est juste avec le union , donc ca depend du contexte et donne le type d'erreur

  2. #22
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Par défaut
    Voici ma macro en cours d'étude,Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    '
        Sheets("BASE").Select
         Range("A2:M25000").Select
         Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=2, MatchCase:=False, Orientation:=xlTopToBottom
        Set wh = ThisWorkbook.Worksheets
     
     
        Columns("F:F").Select
        Selection.Find(What:="29", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
        ActiveCell.Offset(0, -5).Select
        ligne = ActiveCell.Row
     
        range1 = ("A" & ligne)
        range2 = ("M" & ligne + 20000)
        Set MyRange = Range(Union(range1, range2))
        'wh.Range(r1, r2).EntireRow.Delete
        'EntireRow.Delete
     
        'Selection.Clear contents
     
    End Sub

  3. #23
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set range1 = Range("A" & Ligne)
    Set range2 = Range("A" & Ligne + 20)
    Set MyRange = Range(range1, range2)
    A mon umble avis on ne peux pas faire un union sur seulement 2 valeurs vu que en fait tu peux faire un range de deux valeurs , donc ca doit marcher que pour >2 valeurs a confirmer ou a tester met ce bout de code et ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set range1 = Range("A" & Ligne)
    Set range2 = Range("A" & Ligne + 20)
    Set range3 = Range("A" & Ligne + 10)
    Set MyRange = Application.Union(range1, range2, range3)
    MyRange.Select
    voila comment ca marche je decouvre en meme temps que toi

  4. #24
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Citation Envoyé par ludopol Voir le message
    J'ai effectivement pu concaténer, mais je n'arrive pas à en faire un objet Range.
    Sympa de t'occuper de mon problème.
    Pour créer un range contenant une seule cellule, tu peux faire comme ceci :

  5. #25
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Par défaut
    Citation Envoyé par tamtam64 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set range1 = Range("A" & Ligne)
    Set range2 = Range("A" & Ligne + 20)
    Set range3 = Range("A" & Ligne + 10)
    Set MyRange = Application.Union(range1, range2, range3)
    MyRange.Select
    voila comment ca marche je decouvre en meme temps que toi
    merci quand même
    Désolé, mais avec cette formule, je n'obtiens pas le résultat escompté.

    En utilisant ta formule associée à un While Wend, ça fonctionne à merveille.
    Merci encore.

  6. #26
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set range1 = Range("A" & Ligne)
    Set range2 = Range("A" & Ligne + 20)
    Set range3 = Range("A" & Ligne + 10)
    Set MyRange = Application.Union(range1, range2, range3)
    MyRange.Select
    heureux de t'avoir aider bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Ligne sélectionnée par GROUP BY
    Par Ali Kent dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/11/2014, 18h13
  2. Réponses: 8
    Dernier message: 03/07/2007, 18h26
  3. MySLQ sélectionner nombre fixe de ligne
    Par bressan dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/08/2006, 13h40
  4. EXCEL : Additionner deux groupes de lignes
    Par repié dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/12/2005, 20h59
  5. ne sélectionner qu'une seule ligne d'un SELECT
    Par le-stagiaire dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 29/04/2005, 11h52

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