Macro excel

Résolu/Fermé
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 - 26 janv. 2011 à 15:16
 soniatouns777 - 1 févr. 2011 à 09:01
Bonjour,
J'aurais besoin de votre aide, cela fait 2 jours que je bloque sur un pb, qui vous paraitra surement simple mais je n'ai pas de supers connaissance en macro (a part les macro par enregistrement)
j'ai un tableau que se met à jour tout les mois et je dois prendre certaines cellules de ce tableau et les mettre dans une autrefeuille où figurerons toutes les données mensuelles, les colonnes s'ajoutant à la suite (à droite)
je copie et colle 4 colonnes par mois

Merci de bien vouloir m'aider




A voir également:

14 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 janv. 2011 à 15:18
Bonjour,
Montre nous le code que tu a déjà créer, ou que tu a fait avec l'éditeur de macro.
Ce sera plus simple.
A+
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
26 janv. 2011 à 15:23
voila ce que j'ai fait, j'ai arrété au moment ou il faut surement creer une boucle :
Sub cumul_fonctionnement()
'
' cumul_fonctionnement Macro
' Macro enregistrée le 25/01/2011 par smarakch
'

'
Sheets("Tableau Fonctionnement").Select
Range("C5:C15").Select
Selection.Copy
Sheets("Cumul Fonctionnement").Select
Range("C6").Select
ActiveSheet.Paste
Sheets("Tableau Fonctionnement").Select
Range("D5:D15").Select
Selection.Copy
Sheets("Cumul Fonctionnement").Select
Range("D6").Select
ActiveSheet.Paste
Sheets("Tableau Fonctionnement").Select
Range("D21:D31").Select
Selection.Copy
Sheets("Cumul Fonctionnement").Select
Range("E6").Select
ActiveSheet.Paste
Sheets("Tableau Fonctionnement").Select
Range("D37:D47").Select
Selection.Copy
Sheets("Cumul Fonctionnement").Select
Range("F6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
end sub
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 janv. 2011 à 15:44
Si c'est ce que tu veux faire..
Sub cumul_fonctionnement()
'
' cumul_fonctionnement Macro
' Macro enregistrée le 25/01/2011 par smarakch

    With Sheets("Tableau Fonctionnement")
        Range("C5:D15").Copy
        Sheets("Cumul Fonctionnement").Range("C6").PasteSpecial Paste:=xlPasteValues
        
        Range("D21:D31").Copy
        Sheets("Cumul Fonctionnement").Range("E6").PasteSpecial Paste:=xlPasteValues
        
        Range("D37:D47").Copy
        Sheets("Cumul Fonctionnement").Range("F6").PasteSpecial Paste:=xlPasteValues
    End With
End Sub


A+
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
26 janv. 2011 à 15:47
coucou !!
est ce que mon message est bien passé?!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
26 janv. 2011 à 15:58
merci pour ton aide mais ça me décale mes cellules vers le bas dans ma feuille cumul alors que je souhaiterais ajouter à chaque fois 4 colonnes à la suite vers la droite (les données s'ajoutent en colonne et non en ligne)
je sais que c'est un peu difficile à comprendre comme ça, je ne vois pas bien comment je pourrait t'envoyer mon fichier excel

Merci encore de voir
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 janv. 2011 à 16:13
Tu peu le déposer sur CiJoint.fr et mettre le lien dans un poste suivant.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 janv. 2011 à 16:18
Je souhaiterais que tu lise la note dans ma signature.
Merci
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
26 janv. 2011 à 16:40
bonjour
ci dessous le line du fichier excel :
http://www.cijoint.fr/cjlink.php?file=cj201101/cijEs2lOta.xls
et le lien de la macro que j'ai légerement corrigé :
http://www.cijoint.fr/cjlink.php?file=cj201101/cijFawybGl.txt

désolé pour le MP, je n'avais pas lu la note

Merci pour ton aide
Sonia
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 26/01/2011 à 17:31
Tu veux ajouter les mêmes valeurs de la feuille Tableau Fonctionnement vers la feuille Cumul Fonctionnement mais en décalant les données sur 4 colonnes vers la droite ?
En répercutant les titres et le format ? (Cadre)
Le total est à reporter ou à faire autrement ?
Tu dis.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
27 janv. 2011 à 08:40
oui c'est bien ça, le total est a reporter également, mon souci est que les données s'ajoutent par la droite, alors qu'avec moi elles s'ecrasent

merci
Sonia
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
27 janv. 2011 à 10:48
Merci de m'aider svp
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 27/01/2011 à 11:45
Essaye avec ...
Sub cumul_fonctionnement()   
Dim Col As Integer   
    With Sheets("Tableau Fonctionnement")   
        Col = .Range("C6").End(xlToRight).Column + 1   
        .Range("C5:D15").Copy   
        Sheets("Cumul Fonctionnement").Cells(6, Col).PasteSpecial Paste:=xlPasteValues   
           
        .Range("D21:D31").Copy   
        Sheets("Cumul Fonctionnement").Cells(6, Col + 2).PasteSpecial Paste:=xlPasteValues   
           
        .Range("D37:D47").Copy   
        Sheets("Cumul Fonctionnement").Cells(6, Col + 1).PasteSpecial Paste:=xlPasteValues   
    End With   
End Sub

Et si tu veux reporter le format...
Sub cumul_fonctionnement() 
Dim Col As Integer 
    With Sheets("Tableau Fonctionnement") 
        Col = .Range("C6").End(xlToRight).Column + 1 
        Sheets("Cumul Fonctionnement").Range("C5:F16").Copy 
        Sheets("Cumul Fonctionnement").Cells(5, Col).PasteSpecial Paste:=xlFormats 
        .Range("C5:D15").Copy 
        Sheets("Cumul Fonctionnement").Cells(6, Col).PasteSpecial Paste:=xlPasteValues 
         
        .Range("D21:D31").Copy 
        Sheets("Cumul Fonctionnement").Cells(6, Col + 2).PasteSpecial Paste:=xlPasteValues 
         
        .Range("D37:D47").Copy 
        Sheets("Cumul Fonctionnement").Cells(6, Col + 1).PasteSpecial Paste:=xlPasteValues 
    End With 
End Sub
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
27 janv. 2011 à 11:55
bonjour,
je te remercie vraiment pour ta patience
je n'ai pas dû t'expliquer assez clairement mais le tableau de la feuille fonctionnement s'ctualise tout les mois, et je dois récupérer chaque mois les 4 colonnes vers la feuille cumul et les données s'ajoutent par la droite, les 4 1eres colonnes concernent janvier, les 4 colonnes suivantes s'ajoutent et deviennent fevrier ... etc, la feuille cumul est en fait un historique
la formule que tu m'as transmis écrase les données càd que mars ne vient pas aprés février mais au dessus

j'espère que mon explication est compréhensible:)

merci encore
0
soniatouns777 Messages postés 16 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 26 février 2011 1
27 janv. 2011 à 14:52
en fait , je crois qu'il faudrait mettre une boucle du style " quand la colonne est rempli , coller les données dans la colonne suivante mais je n'arrive pas à écrire la ligne , merci lermite222 de ton aide précieuse
ci dessous, où j'en suis


Dim i As Integer
For i = 1 To 20

If i <> "" Then
With Sheets("Tableau Fonctionnement")
i = .Range("C5").End(xlToRight).Column + 1
Sheets("Cumul Fonctionnement").Range("C5:F16").Copy
Sheets("Cumul Fonctionnement").Cells(6, i).PasteSpecial Paste:=xlFormats
.Range("C5:D15").Copy
Sheets("Cumul Fonctionnement").Cells(6, i + 1).PasteSpecial Paste:=xlPasteValues

.Range("D21:D31").Copy
Sheets("Cumul Fonctionnement").Cells(6, i + 2).PasteSpecial Paste:=xlPasteValues

.Range("D37:D47").Copy
Sheets("Cumul Fonctionnement").Cells(6, i + 3).PasteSpecial Paste:=xlPasteValues
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 28/01/2011 à 23:11
Problème de fonctionnement avec le XlToRight
Recopie le code ci-dessous.
Sub cumul_fonctionnement()
Dim Col As Integer
    
    With Sheets("Cumul Fonctionnement")
        Col = .Cells(4, 256).End(xlToLeft).Column + 1
        If Col > 6 Then
            .Range("C4:F5").Copy .Cells(4, Col)
            .Range("C6:F16").Copy
            .Cells(6, Col).PasteSpecial Paste:=xlFormats
        End If
    End With
    With Sheets("Tableau Fonctionnement")
        .Range("C5:D15").Copy
        Sheets("Cumul Fonctionnement").Cells(6, Col).PasteSpecial Paste:=xlPasteValues
        
        .Range("D21:D31").Copy
        Sheets("Cumul Fonctionnement").Cells(6, Col + 2).PasteSpecial Paste:=xlPasteValues
        
        .Range("D37:D47").Copy
        Sheets("Cumul Fonctionnement").Cells(6, Col + 3).PasteSpecial Paste:=xlPasteValues
    End With
End Sub


Cette fois je l'ai tester sur ton classeur.

L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 28/01/2011 à 23:23
Mais moi je ne ferais pas comme ça.
Suppose que tu mémorise Janvier et qu'ensuite tu fait une modification, c'est reparti pour le faire en manuel.
Avec le système que j'emploie tu peu recopier le mois autant de fois que tu veux.

Ton classeur en retour
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
0
Merci vraiment lermitte 222, tu as raison, ta méthode est + interessante pour pouvoir revenir sur un mois
c'est génial d'avoir en face de soi un passionné, j'espère que tu ne m'en veux pas pour ta petite nuit (je vois que tu m'a envoyé les réponse assez tard)*

Bonne continuation
0