Compiler plusieurs onglets Excel sur un onglet Synthese
DSisco
Messages postés
3
Statut
Membre
-
DSisco Messages postés 3 Statut Membre -
DSisco Messages postés 3 Statut Membre -
Bonjour à tous,
Je vous écris aujourd'hui car je rencontre un problème avec une macro pour compiler mon fichier Excel que je vous joins ici :
https://www.cjoint.com/?0DxkZRYkHtz
Depuis 2 jours, j'essaie de trouver une macro qui me permettrait de compiler mes 7 onglets dans un onglet "SYNTHESE".
Il est important pour moi de garder ces onglets car chacun de mes sites gère son onglet et me le renvoie. Le copier/coller à chaque mise à jour dans ce fichier excel ne me dérange pas.
En revanche, les directeurs eux consultent uniquement l'onglet SYNTHESE, d'où mon besoin de compiler mes 7 onglets dans celui ci, et de pouvoir faire des mises à jour automatique (où même s'il y a une manip à faire pour la mise à jour, ce n'est pas grave, du moment que l'on a une compilation à la fin).
Ne connaissant rien aux macros ou au langage VBA j'ai tenté de me débrouiller seule à partir de codes trouver sur les forums, mais je n'arrive jamais à compiler plus de 3 onglets, et là je vous avoue, je craque un peu...
Le code est disponible dans les modules du fichier excel joint, si vous le souhaitez, je peux vous le remettre dans un message ici.
Je vous remercie tous par avance pour votre précieuse aide!
Je vous écris aujourd'hui car je rencontre un problème avec une macro pour compiler mon fichier Excel que je vous joins ici :
https://www.cjoint.com/?0DxkZRYkHtz
Depuis 2 jours, j'essaie de trouver une macro qui me permettrait de compiler mes 7 onglets dans un onglet "SYNTHESE".
Il est important pour moi de garder ces onglets car chacun de mes sites gère son onglet et me le renvoie. Le copier/coller à chaque mise à jour dans ce fichier excel ne me dérange pas.
En revanche, les directeurs eux consultent uniquement l'onglet SYNTHESE, d'où mon besoin de compiler mes 7 onglets dans celui ci, et de pouvoir faire des mises à jour automatique (où même s'il y a une manip à faire pour la mise à jour, ce n'est pas grave, du moment que l'on a une compilation à la fin).
Ne connaissant rien aux macros ou au langage VBA j'ai tenté de me débrouiller seule à partir de codes trouver sur les forums, mais je n'arrive jamais à compiler plus de 3 onglets, et là je vous avoue, je craque un peu...
Le code est disponible dans les modules du fichier excel joint, si vous le souhaitez, je peux vous le remettre dans un message ici.
Je vous remercie tous par avance pour votre précieuse aide!
A voir également:
- Compiler plusieurs onglets Excel sur un onglet Synthese
- Rouvrir onglet fermé chrome - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
2 réponses
Bonjour,
Corriges la destination, au lieu de "A1" & x écrire "A" & x
Par exemple, corriges la ligne :
par :
Corriges la destination, au lieu de "A1" & x écrire "A" & x
Par exemple, corriges la ligne :
Sheets("Site de VALENCE").Rows("2:" & x).Copy Sheets("SYNTHESE").Range("A1" & y)
par :
Sheets("Site de VALENCE").Rows("2:" & x).Copy Sheets("SYNTHESE").Range("A" & y)
Bonjour,
Essaies :
Essaies :
Sub test_conso()
Dim x As Long, y As Long
Sheets("SYNTHESE").Cells.Clear
Sheets("IRFSS RA").Cells.Copy Sheets("SYNTHESE").Range("A1") 'pour copier aussi les largeurs de colonne
x = Worksheets("Site de LYON").Range("A" & Rows.count).End(xlUp).Row
y = Sheets("SYNTHESE").Range("A" & Rows.count).End(xlUp).Row + 1
Sheets("Site de LYON").Rows("2:" & x).Copy Sheets("SYNTHESE").Range("A" & y)
x = Worksheets("Site de ST ETIENNE").Range("A" & Rows.count).End(xlUp).Row
y = Sheets("SYNTHESE").Range("A" & Rows.count).End(xlUp).Row + 1
Sheets("Site de ST ETIENNE").Rows("2:" & x).Copy Sheets("SYNTHESE").Range("A" & y)
x = Worksheets("Site de VALENCE").Range("A" & Rows.count).End(xlUp).Row
y = Sheets("SYNTHESE").Range("A" & Rows.count).End(xlUp).Row + 1
Sheets("Site de VALENCE").Rows("2:" & x).Copy Sheets("SYNTHESE").Range("A" & y)
End Sub
Après avoir vu les tableaux, la colonne A n'est pas toujours remplie il serait préférable d'utiliser :
Option Explicit
Sub test_conso()
Dim n°L As Long 'n° ligne destination
Dim d°L As Long 'dernière ligne source
Dim wsS As Worksheet 'feuille source
Dim wsD As Worksheet 'feuille destination
Set wsD = Worksheets("SYNTHESE")
wsD.Cells.Clear
For Each wsS In Worksheets
If wsS.Index <> wsD.Index And wsS.Range("C1").Value = "PROCESSUS" Then
'pour chaque feuille concernée (sauf SYNTHESE, Param, liste déroulante, ...)
If wsS.Range("B1").Value <> wsD.Range("B1").Value Then
'si synthèse est vierge : copier la 1° feuille avec les titres
wsS.Cells.Copy wsD.Range("A1")
Else
'sinon : ajouter les données
n°L = wsD.Range("B" & Rows.count).End(xlUp).Row + 1
d°L = wsS.Range("B" & Rows.count).End(xlUp).Row
wsS.Rows("2:" & d°L).Copy wsD.Range("A" & n°L)
End If
End If
Next wsS
End Sub
Oh oui super!!! Cela à l'air de bien fonctionner (même si j'ai l'impression qu'une ou deux lignes sont encore supprimées au moment de la compilation!).
Je vais voir pour mieux compléter toutes les colonnes de mon tableau voir comme la macro se comporte, je ferais des tests aussi quand je rajoute des lignes, voir comment tout cela se met à jour. Je te ferais un retour.
En tout cas mille merci pour ton aide!
Je vais voir pour mieux compléter toutes les colonnes de mon tableau voir comme la macro se comporte, je ferais des tests aussi quand je rajoute des lignes, voir comment tout cela se met à jour. Je te ferais un retour.
En tout cas mille merci pour ton aide!
Merci pour ton conseil. Malheureusement mon problème persiste...
J'ai réussi à compiler les 3 premiers onglets sur mon onglets synthèse, dès que j'ajoute le 4ie, il vient remplacer les résultats du 3ie.
Est ce que tu as une idée de ce que je pourrais corriger pour arriver à tout combiner ?
Merci :)