Problème lors de la création d'un bilan

Résolu
cco86260 Messages postés 166 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 30 juillet 2015 - 30 sept. 2014 à 19:31
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Derniè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

rep = Environ("USERPROFILE") & ""
ClasseurPath = rep & "\Documents\POINTAGES\bilanHebdo.xlsm"


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...

Merci à tous et bonne soirée

christian

--

1 réponse

jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
Modifié par jordane45 le 30/09/2014 à 19:41
Hello,

si vous auriez une solution... je suis preneur ;)
Oui oui.. j'ai ... :-)

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
0
cco86260 Messages postés 166 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 30 juillet 2015 2
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
0
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
30 sept. 2014 à 20:40
C'est bon ?
Oui très bien.
0
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
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)

:-)

Bonne soirée.

Cordialement,
Jordane
0
Rejoignez-nous