Macro excel

Résolu
soniatouns777 Messages postés 18 Statut Membre -  
 soniatouns777 -
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

14 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  2. soniatouns777 Messages postés 18 Statut Membre 1
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  4. soniatouns777 Messages postés 18 Statut Membre 1
     
    coucou !!
    est ce que mon message est bien passé?!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. soniatouns777 Messages postés 18 Statut Membre 1
     
    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
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Tu peu le déposer sur CiJoint.fr et mettre le lien dans un poste suivant.
    0
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Je souhaiterais que tu lise la note dans ma signature.
      Merci
      0
  8. soniatouns777 Messages postés 18 Statut Membre 1
     
    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
  9. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  10. soniatouns777 Messages postés 18 Statut Membre 1
     
    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
    1. soniatouns777 Messages postés 18 Statut Membre 1
       
      Merci de m'aider svp
      0
  11. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  12. soniatouns777 Messages postés 18 Statut Membre 1
     
    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
    1. soniatouns777 Messages postés 18 Statut Membre 1
       
      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
  13. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  14. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  15. soniatouns777
     
    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