Renseignement VBA sur excel 2007

fabrice76800 Messages postés 1 Statut Membre -  
cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je viens vers vous car là, je seche et ce malgré en essayant d'adpater ce que j'ai pu lire. Ca bug et je n'arrive a rien.

J'ai un classeur comprenant 12 feuilles. "Janvier, février....décembre".
Chaque feuille est identiques et comporte des colonnes avec des données en colonne A,B,C,D (Pas E et F),G, H, I que je souhaiterai renvoyer vers un tableau "Tableau1" reprenant les colonnes A B C D G H I des 12 feuilles du meme classeur. Sachant que les lignes transferées s'incrémentent à la suite de manière croissante.

En espérant avoir été suffisament clair.

Cordialement.

3 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Montre déjà le code (ou début de code) que tu a fait pour y arriver .
    A+
    0
    1. fabrice76800
       
      bonjour,

      voici ce que j'ai fait mais je bloque. Le nombre de lignes est de 30 par feuille.

      Sub Mise_à_Jour()
      Dim CompteurDeFeuille As Byte
      Dim Cell As Range
      Dim LigneDeDépart As Integer
      LigneDeDépart = 2
      For CompteurDeFeuille = 1 To Worksheets.Count
      If Sheets(CompteurDeFeuille).Name <> "TABLEAU 1" Then
      With Sheets(CompteurDeFeuille)
      For Each Cell In .Range(("C5:C") & .Range("C65536").End(xlUp).Row)
      Range(.Cells(Cell.Row, 2), .Cells(Cell.Row, 8)).Copy (C'est là que je bloque)
      Sheets("TABLEAU 1").Cells(LigneDeDépart, 2).PasteSpecial Paste:=xlPasteValues
      LigneDeDépart = LigneDeDépart + 1
      End If
      Next
      End With
      End If
      End Sub

      En esperant que cela soit pas trop bete.
      Coridlament.
      0
  2. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   383
     
    Bonjour,

    Afin de répondre au mieux à ton besoin, il va te falloir être un peu plus explicite....

    Est-ce que le nombre de lignes est aléatoire, sur chaque onglet?
    Si le nombre est aléatoire, quelle colonne est toujours remplie (par exemple la colonne des dates)?
    Est-ce que le nom des onglets respecte bien le nom des mois (avec les é, û (de Août))?

    Quel code utilises-tu, et qui bug?

    A te relire
    0
    1. fabrice76800
       
      bonjour,

      le nombre de lignes est de 30 par feuilles. Oui, oui, il y a les é et û là ou il faut.

      ci après, ce que j'ai fait.

      Sub Mise_à_Jour()
      Dim CompteurDeFeuille As Byte
      Dim Cell As Range
      Dim LigneDeDépart As Integer
      LigneDeDépart = 2
      For CompteurDeFeuille = 1 To Worksheets.Count
      If Sheets(CompteurDeFeuille).Name <> "TABLEAU 1" Then
      With Sheets(CompteurDeFeuille)
      For Each Cell In .Range(("C5:C") & .Range("C65536").End(xlUp).Row)
      Range(.Cells(Cell.Row, 2), .Cells(Cell.Row, 8)).Copy (C'est là que ça bloque)
      Sheets("TABLEAU 1").Cells(LigneDeDépart, 2).PasteSpecial Paste:=xlPasteValues
      LigneDeDépart = LigneDeDépart + 1
      Next
      End With
      End Sub

      J'aurai bien mis mon fichier mais je ne sais pas comment je dois faire.

      Cordialement.
      0
  3. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   383
     
    Re-,

    Sans tester, il me semble qu'il te manque un point (.) devant Range, ainsi qu'un End if :

    Sub Mise_à_Jour() 
    Dim CompteurDeFeuille As Byte 
    Dim Cell As Range 
    Dim LigneDeDépart As Integer 
    LigneDeDépart = 2 
    For CompteurDeFeuille = 1 To Worksheets.Count 
        If Sheets(CompteurDeFeuille).Name <> "TABLEAU 1" Then 
            With Sheets(CompteurDeFeuille) 
                For Each Cell In .Range(("C5:C") & .Range("C65536").End(xlUp).Row) 
                    .Range(.Cells(Cell.Row, 2), .Cells(Cell.Row, 8)).Copy 
                        Sheets("TABLEAU 1").Cells(LigneDeDépart, 2).PasteSpecial Paste:=xlPasteValues 
                    LigneDeDépart = LigneDeDépart + 1 
                Next Cell 
        End If 
    End With 
    End Sub 
    


    Peut-être?
    0