cco86260
Messages postés166Date d'inscriptiondimanche 22 janvier 2012StatutMembreDernière intervention30 juillet 2015
-
30 sept. 2014 à 19:31
jordane45
Messages postés38244Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 octobre 2024
-
30 sept. 2014 à 20:41
Bonjour a tous,
Lors de la création d'un rapport via un autre classeur (rapHebdo) pour ceux qui connaisse ;) , j'ai vue un léger problème, j'explique :
Je fais un rapport avec raphebdo, une fois fais je clique sur "faire le bilan", il me le fais, jusque là, pas de soucis...
Parcontre, après avoir sauvegardé et fermé le bilan, puis fermer "raphebdo", je relance "RapHebdo" puis refais un rapport, je créé a nouveau le bilan et là... il m'écrase le bilan précédent...
Voici le code :
Sub bilan(control As IRibbonControl)
'Ici je déclare mes variables Dim wk1 As Workbook Dim wk2 As Workbook Dim sh As Worksheet Dim Nom_Feuille As String Dim total As String Dim hzc As String Dim trpen As String Dim nuit As String Dim rep As String Dim ClasseurPath As String Dim sem As String Dim section As String Dim l As Integer
Set wk1 = ThisWorkbook l = 2 'ouverture du classeur Set wk2 = Workbooks.Open(ClasseurPath) For Each sh In wk1.Worksheets If sh.Name <> "MATRICE" And sh.Name <> "VIERGE" Then 'ton code Nom_Feuille = sh.Name 'Copie des noms des feuilles dans une colonne wk2.Sheets(1).Cells(l, 1).Value = Nom_Feuille 'Copie de la semaine dans une colonne sem = sh.Range("AZ8").Value wk2.Sheets(1).Cells(l, 2).Value = sem 'Copie de la section dans une colonne section = sh.Range("Z11").Value wk2.Sheets(1).Cells(l, 3).Value = section 'copie des nombres totales d'heure de chantiers total = sh.Range("CW18").Value wk2.Sheets(1).Cells(l, 4).Value = total 'copie des nombres totales d'heures en ZC hzc = sh.Range("CW21").Value wk2.Sheets(1).Cells(l, 5).Value = hzc 'copie des nombres totales de travaux pénibles trpen = sh.Range("CW23").Value wk2.Sheets(1).Cells(l, 6).Value = trpen 'copie des nombres totales d'heure de nuits nuit = sh.Range("CW25").Value wk2.Sheets(1).Cells(l, 7).Value = nuit l = l + 1 Else
'sh.Visible = xlSheetHidden ' ou xlSheetVeryHidden End If Next
'Fermeture du second classeur 'wk2.Close
End Sub
si vous auriez une solution... je suis preneur ;)
Mon souhait est que le fichier au final devient une base de donnée excel..., donc tout doit s'ajouter au bilan... au fur et a mesure...
Je suppose que tu veux coller les données à la suite ( et pas dans une nouvelle feuille) ?
Il te faut donc.... avant de "coller" les données.... recherchée la DERNIERE LIGNE de ton classeur cible... et au lieu de faire commencer l à 2
l = 2
Il faut commencer à DERNIERE_LIGNE + 1
' /// l = 2
'ouverture du classeur
Set wk2 = Workbooks.Open(ClasseurPath)
wk2.sheets(1).activate
Derniere_Ligne = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
l = Derniere_Ligne + 1
Avant de poser une question, merci de lire la charte du site. Cordialement, Jordane
cco86260
Messages postés166Date d'inscriptiondimanche 22 janvier 2012StatutMembreDernière intervention30 juillet 20152 30 sept. 2014 à 20:36
Salut et merci Jordane45, ça fonctionne parfaitement, j'ai déclarer Derniere_Ligne comme ça :
Dim Dernier_Feuille As Long
C'est bon ?
bonne soirée à toi
Christian
jordane45
Messages postés38244Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 octobre 2024345 30 sept. 2014 à 20:40
C'est bon ?
Oui très bien.
jordane45
Messages postés38244Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 octobre 2024345 30 sept. 2014 à 20:41
et n'oublie pas ...
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
30 sept. 2014 à 20:36
C'est bon ?
bonne soirée à toi
Christian
30 sept. 2014 à 20:40
30 sept. 2014 à 20:41
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
:-)
Bonne soirée.
Cordialement,
Jordane