Macro pour recopier une plage de cellule
jacksa3ada
Messages postés
37
Statut
Membre
-
jacksa3ada Messages postés 37 Statut Membre -
jacksa3ada Messages postés 37 Statut Membre -
bonjour
je suis nouveaux sur ce forum
et merci d'avance pour votre aide
j'ai un classeur excel (rapport journalier) , et par consequent les feuille sont nommee 1 , 2 , ....jusqu au 31
je desire recuperer un plage de donnee contenu dans chaque feuille de A36 : AG36
ces donnes, je veu les coller sur une feuille que de meme classeur que je nomme ''RAPPORT MENSUEL'' . ils doivent apparaitre sous forme d'un tableau.
je veux coller chaque plage recopie sur une ligne
merci
merci
je suis nouveaux sur ce forum
et merci d'avance pour votre aide
j'ai un classeur excel (rapport journalier) , et par consequent les feuille sont nommee 1 , 2 , ....jusqu au 31
je desire recuperer un plage de donnee contenu dans chaque feuille de A36 : AG36
ces donnes, je veu les coller sur une feuille que de meme classeur que je nomme ''RAPPORT MENSUEL'' . ils doivent apparaitre sous forme d'un tableau.
je veux coller chaque plage recopie sur une ligne
merci
merci
A voir également:
- Macro pour recopier une plage de cellule
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Bloquer une cellule excel - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne dans une cellule excel - Guide
8 réponses
Bonjour,
Si tu veux que ce soit automatique, je ne vois que le VB. As tu des connaissances dans le langage de programmation des macros ?
Si tu veux que ce soit automatique, je ne vois que le VB. As tu des connaissances dans le langage de programmation des macros ?
bonjour
merci de m'avoir vite repondu .
biensur que j'ai des base VB. d'ailleur j'ai realise une macro pour le faire . mais par l'enregisteur..
moi je veu que sa soit pro
merci
merci de m'avoir vite repondu .
biensur que j'ai des base VB. d'ailleur j'ai realise une macro pour le faire . mais par l'enregisteur..
moi je veu que sa soit pro
merci
Donne moi le code que t'as généré l'enregistreur de macro, je peux te donner deux ou trois ficelles pour l'optimiser.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voici le bon
RapportMensuel Macro
'
'
Sheets("1").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("3").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("4").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("5").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("6").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("7").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("8").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B20").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("9").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B21").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("10").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B22").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("11").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("12").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B24").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("13").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("14").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("15").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B27").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("16").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("17").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B29").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("18").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("19").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B31").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("20").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B32").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("21").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B33").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("22").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B34").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("23").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B35").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("24").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B36").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("25").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B37").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("26").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B38").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("27").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("28").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B40").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("29").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B41").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("30").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B42").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("31").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B43").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
RapportMensuel Macro
'
'
Sheets("1").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("3").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("4").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("5").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("6").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("7").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("8").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B20").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("9").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B21").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("10").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B22").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("11").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("12").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B24").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("13").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("14").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("15").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B27").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("16").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("17").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B29").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("18").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("19").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B31").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("20").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B32").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("21").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B33").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("22").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B34").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("23").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B35").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("24").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B36").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("25").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B37").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("26").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B38").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("27").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("28").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B40").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("29").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B41").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("30").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B42").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("31").Select
Range("BM18:DM18").Select
Selection.Copy
Sheets("Rap mensuel").Select
Range("B43").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
D'après ce que je vois, ce n'est pas du tout les cellules A36-AG36 que tu récupères. De plus, tu écris des données en dur dans des cellules, et je vois également d'autres documents Excel ouverts. Un peu dur de tout suivre la dedans.
Si j'ai bien compris, ce que tu souhaites récupérer, c'est dans un onglet Rapport Mensuel (le 32ème onglet de ton classeur) en ligne 1 le contenu de la ligne 36 de l'onglet 1, en ligne 2 le contenu de la ligne 36 de l'onglet 2, en ligne 3 le contenu de la ligne 36 de l'onglet 3, etc jusqu'au 31 ?
Si j'ai bien compris, ce que tu souhaites récupérer, c'est dans un onglet Rapport Mensuel (le 32ème onglet de ton classeur) en ligne 1 le contenu de la ligne 36 de l'onglet 1, en ligne 2 le contenu de la ligne 36 de l'onglet 2, en ligne 3 le contenu de la ligne 36 de l'onglet 3, etc jusqu'au 31 ?
Voici le code que j'ai généré, à modifier selon tes spécificités :
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
Sub Copy()
' On créé une boucle sur les numéros de page
For p = 1 To 31
' On sélectionne la page p
Sheets(p).Select
' On copie la totalité de la ligne 36
Rows("36:36").Select
Selection.Copy
' On sélectionne la page RAPPORT MENSUEL
Sheets("RAPPORT MENSUEL").Select
' On colle sur la même ligne que le numéro de la page.
Rows(p).Select
ActiveSheet.Paste
Next
End Sub
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
Bonjour,
Attention aux .Select inutiles qui ralentissent le code. Surtout ici lors de changement répétés de feuilles.
Les lignes :
peuvent être avantageusement être remplacées par :
Ce qui nous donne, avec ton code :
A adapter également :
Attention aux .Select inutiles qui ralentissent le code. Surtout ici lors de changement répétés de feuilles.
Les lignes :
Sheets(p).Select
' On copie la totalité de la ligne 36
Rows("36:36").Select
Selection.Copy
' On sélectionne la page RAPPORT MENSUEL
Sheets("RAPPORT MENSUEL").Select
' On colle sur la même ligne que le numéro de la page.
Rows(p).Select
ActiveSheet.Paste
peuvent être avantageusement être remplacées par :
Sheets(p).Rows("36:36").Copy Sheets("RAPPORT MENSUEL").Rows(p)
Ce qui nous donne, avec ton code :
Sub Copy()
' On créé une boucle sur les numéros de page
For p = 1 To 31
Sheets(p).Rows("36:36").Copy Sheets("RAPPORT MENSUEL").Rows(p)
Next
End Sub
A adapter également :
PasteSpecial Paste:=xlPasteValues
Je comprends bien.
Maintenant le demandeur a toutes les clés pour réussir... enfin presque...
Que se passe t'il, avec ton code, en cas d'inversion de feuille?
En fait, pour la boucle, et ce afin d'éviter des erreurs, je ferais plus dans ce style :
Maintenant le demandeur a toutes les clés pour réussir... enfin presque...
Que se passe t'il, avec ton code, en cas d'inversion de feuille?
En fait, pour la boucle, et ce afin d'éviter des erreurs, je ferais plus dans ce style :
Dim Wsh As Worksheet, FeuilRecap As Worksheet, k As Integer
Set FeuilRecap = Worksheets("RAPPORT MENSUEL") 'feuille ou coller
k = 2 'autant débuter le "collage" à la seconde ligne
'boucle sur toutes les feuilles du classeur
For Each Wsh In ThisWorkbook.Worksheets
'Si la feuille (en cours dans la boucle) n'est pas la feuille récap alors
If Not Wsh Is FeuilRecap Then 'attention penser à enlever de la boucle les feuilles qui ne doivent pas être traitées
'copié-collé
Wsh.Rows(18).Copy FeuilRecap.Rows(k)
'ligne suivante pour le collage
k = k + 1
End If
Next Wsh