Renseignement VBA sur excel 2007
fabrice76800
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
cousinhub29 Messages postés 1074 Date d'inscription Statut Membre Dernière intervention -
cousinhub29 Messages postés 1074 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.
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.
A voir également:
- Renseignement VBA sur excel 2007
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
3 réponses
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
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
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.
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.
Re-,
Sans tester, il me semble qu'il te manque un point (.) devant Range, ainsi qu'un End if :
Peut-être?
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?
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.