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 :

Aide sur macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 27
    Par défaut Aide sur macro
    Bonjour à toutes et tous,

    Est ce que quelqu'un peut éclairé ma lanterne. C'est juste quelques test que je fais.

    Quand j'exécute la macro 1, elle récupère biens les données demandées, mais pas pour la macro 2.

    Macro 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
     
        Range("B2,D2,E2,F2,G2,H2,I2").Copy Worksheets("Doublon").Range("A1")
     
    End Sub
    Macro 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro2()
    ' Créer feuille Doublon
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "Doublon"
     
        Range("B2,D2,E2,F2,G2,H2,I2").Copy Worksheets("Doublon").Range("A1")
     
    End Sub
    Merci d'avance.

    David

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    comme dit et redit ... il ne faut jamais utiliser les objets Range, Cells, Columns... sans préciser le parent (feuille + classeur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ThisWorkBook.WorkSheets("MA_FEUILLE_SOURCe").Range("B2,D2,E2,F2,G2,H2,I2").Copy ThisWorkBook.Worksheets("Doublon").Range("A1")

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 27
    Par défaut
    Bonsoir bbil,

    Merci pour ta réponse !

    Ça fonctionne nickel. Mais le problème est que ça ne me donne qu'une ligne et pour moi il me faudrait toutes les lignes sachant que le nombre de ligne dans le classeur, peut varier de 2 à 200 lignes.

    Que me proposerais tu de faire ?

    J'avais penser avec ce code, mais le problème c'est qu'il ne fonctionne pas sur des sélections multiples.

    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
    Sub Macro()
     
        ActiveSheet.Name = "Data"
     
        Dim Lg%, i%, fdata As Worksheet
        Set fdata = ActiveSheet
     
    ' Créer feuille Doublon
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "Doublon"
     
        With fdata
            Lg = .Cells(.Rows.Count, 2).End(xlUp).Row
            Application.ScreenUpdating = False
             ThisWorkbook.Worksheets("Data").Range("B2,D2,E2,F2,G2,H2,I2" & Lg).Copy ThisWorkbook.Worksheets("Doublon").Range("A1")
        End With
     
    End Sub
    Bien à toi et merci d'avance.



    David

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonsoir

    je me suis permis de mettre des commentaires suer chaque ligne de ton 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
    15
    16
    17
    18
    Sub Macro()
     
        ActiveSheet.Name = "Data" 'ok si tu veux on renomme le sheets actif
     
        Dim Lg%, i%, fdata As Worksheet
        Set fdata = ActiveSheet     ' ok si tu veux on se sert d'une variable  pour le sheets actif
     
    ' Créer feuille Doublon
        Sheets.Add after:=Sheets(Sheets.Count) 'ok on ajoute une feuille
        Sheets(Sheets.Count).Name = "Doublon" ' ok si tu veux on la nomme  doublon
     
        With fdata ' ok si tu veux on se sert donc de la variable sheets ya pas de soucis
            Lg = .Cells(.Rows.Count, 2).End(xlUp).Row  'ok on determine la derniere ligne utilisée en colonne B
            Application.ScreenUpdating = False  ' heu sa je vois pas trop non   lol et relol
             ThisWorkbook.Worksheets("Data").Range("B2,D2,E2,F2,G2,H2,I2" & Lg).Copy ThisWorkbook.Worksheets("Doublon").Range("A1") ' alors ca je sais pas ou tu es aller chercher ca  bon d'accords le copier coller c'est bien mais quand meme et puis tiens LOL encore une fois
        End With
     
    End Sub
    ' Bon allez on fait un peu de menage si cela te derange pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub la_meme_en_mieux()
    With ActiveSheet
    .Name = "Data"
    Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "Doublon"
     
    .Range("B2:I" & .Cells(Rows.Count, 2).End(xlUp).row).Copy Destination:=Sheets("Doublon").[A1]
    End With
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 27
    Par défaut
    Bonsoir Patricktoulon,

    Merci pour ta réponse! Je viens de tester le code et c'est bien ce que je veux.

    Mais,le problème c'est que la colonne C est nul non advenu. Puis que dans ta ligne de code, tu prends de B2:I, mais moi je veux B2 et D2:I.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("B2:I" & .Cells(Rows.Count, 2).End(xlUp).row).Copy Destination:=Sheets("Doublon").[A1]
    Alors est possible ou pas, tel est ma question ?

    Bien à toi.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Ok
    alors on supprime la C de la donne en utilisant union

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Union(.Range("B2", .Cells(Rows.Count, "B").End(xlUp)), .Range("D2" , .Cells(Rows.Count, "I").End(xlUp))).Copy Destination:=Sheets("Doublon").[A1]
    j'ai pas tester mais ca doit etre ca
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. [XL-2007] Aide sur macro
    Par bedoch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/07/2009, 18h02
  2. Demande d'aide sur macro a double conditions
    Par zinebs dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/11/2007, 23h23
  3. RechercheV trop limité --> aide sur macro
    Par alexstain dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 24/10/2007, 20h29
  4. Aide sur Macro
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/07/2007, 22h28

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