Copier-coller Infos via macro

learnyexcel

XLDnaute Nouveau
Bonjour

Dans le fichier joint, j'ai 5 feuiles (doc1 àdàc5), et une feuille récap avec un bouton.
Je voudrais que lorsque je clique sur le bouton "recopier" de la feuille récap, toutes les infos des cellules A2:C de chaque feuille (doc1 à doc5) se mettent dans le même format les unes à la suite des autres.

cordialement
Learnyexcel
 

Pièces jointes

  • recap_doc.xls
    32.5 KB · Affichages: 120
Dernière édition:

learnyexcel

XLDnaute Nouveau
Re : Copier-coller Infos via macro

Bonsoir Jm

Excellent mais si je change les infos dans les feuilles doc 1 à doc 5, et qu'il y en a moins,
les infos précedentes restent.
Comment faire pour d'abord nettoyer les 3 premieres colonnes de la feuille recap (effacer toutes les infos de la feuille récap) puis d'y inscrire les nouvelles infos

PEUX TU m'expliquer la formulation

Sub macro_recap()
Dim i%, c%, k&
With Worksheets(1).Cells(1)
c = 1
k = 2
End With
For i = 2 To ThisWorkbook.Worksheets.Count
With Worksheets(i).Cells(1).CurrentRegion.Offset(1, 0)
.Copy Worksheets(1).Cells(k, 1)
k = k + .Rows.Count - 1
End With
Next i
End Sub




merci
Learnyexcel
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Copier-coller Infos via macro

Re


Remplace le code par celui-ci


Code:
[font=Courier New][color=darkblue]Sub[/color] macro_recap()
    [color=darkblue]Dim[/color] i%, c%, k&
    [color=darkblue]With[/color] Worksheets(1)
        .Range(Cells(2, 1), Cells(65536, 3)).Clear
        [color=darkblue]With[/color] .Cells(1)
            c = 1
            k = 2
        [color=darkblue]End[/color] [color=darkblue]With[/color]
    [color=darkblue]End[/color] [color=darkblue]With[/color]
    [color=darkblue]For[/color] i = 2 [color=darkblue]To[/color] ThisWorkbook.Worksheets.Count
        [color=darkblue]With[/color] Worksheets(i).Cells(1).CurrentRegion.Offset(1, 0)
            .Copy Worksheets(1).Cells(k, 1)
            k = k + .Rows.Count - 1
        [color=darkblue]End[/color] [color=darkblue]With[/color]
    [color=darkblue]Next[/color] i
[color=darkblue]End[/color] [color=darkblue]Sub[/color][/font]
 

learnyexcel

XLDnaute Nouveau
Re : Copier-coller Infos via macro

Bonsoir Jm

ok ça marche sur le fichier qu tu as joint.

J'ai tenté de recopier la macro dans un autre classeur et là ça ne fonctionne plus.
Le nom de la feuile est il important?
Faut il mettre la macro dans un espace special? module? feuille...,

merci
Learny
 

learnyexcel

XLDnaute Nouveau
Re : Copier-coller Infos via macro

Bonsoir Jm

Ok je suis arrivé à modifier le nom. Merci

J'ai un autre pbl mais je ne peux pas le poster, le doc.xls est trop lourd m^me zippé.
"erreur n°13: incompatibilité de type."

as tu un mail direct,

cordialement
Learny
 

Staple1600

XLDnaute Barbatruc
Re : Copier-coller Infos via macro

Re

Dans ce cas, essaye la manip suivante :

Ouvres une copie de ton classeur original


  • 1) Crée un classeur vierge
  • 2) Importes-y le code VBA (A partir de VBE -> cliquer/déplacer les modules et userform du classeur original vers le VBAProject du nouveau classeur.
  • 3) Insère une feuille vierge dans ton classeur original
  • 4) Fenêtre/Réorganiser/Mosaique Horizontale
  • 5) Déplaces une à une les feuilles du classeur original vers le classeur vierge (sauf la feuille vierge que tu viens d'insérer)
  • 6) Enregistre le nouveau classeur
  • 7) Ferme le classeur original SANS ENREGISTRER les modifications
  • 8) Zippes ce nouveau fichier

Quelle taille fait ce zip ?
 

learnyexcel

XLDnaute Nouveau
Re : Copier-coller Infos via macro

Bonjour
je n'arrive pas à psser sous 77ko meme zippé
J'ai bien mis feuille recap dans 1
Je ne penses pas que le nom de la feuille soit important.
mon recap se nomme match maintenant et j'ai set1 à set2 (pour les n° 2 à 6 dans Vbe 2003)
faut il changer quelques chose?
Ne pourrait on pas travailler avec les nom des feuilles?
Merci

Learny

Sub macro_recap()
Dim i%, c%, k&
With Worksheets(1)
.Range(Cells(2, 1), Cells(65536, 3)).Clear
With .Cells(1)
c = 1
k = 2
End With
End With
For i = 2 To ThisWorkbook.Worksheets.Count
With Worksheets(i).Cells(1).CurrentRegion.Offset(1, 0)
.Copy Worksheets(1).Cells(k, 1)
k = k + .Rows.Count - 1
End With
Next i
End Sub
---------
 

learnyexcel

XLDnaute Nouveau
Re : Copier-coller Infos via macro

Bonsoir

J'ai reussi à faire les imports mais dans mon nouveau fichier, j'ai des données dans les colonnes d c ...aa;
et quand j'active le bouton, il me copie toutes les cellules or je ne veux que les 3 premières colonnes (a1:c65666) de chaque feuille 2 à 6 car feuille 1 c'est le recap.

comment faire? Le fichier est trop lourd pour le mettre dans ce post, .
merci
Learny
 

Discussions similaires

Réponses
25
Affichages
1 K

Statistiques des forums

Discussions
312 209
Messages
2 086 263
Membres
103 167
dernier inscrit
miriame