A voir également:
- Code VBA je plante
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
5 réponses
Bonjour,
Sans être sur, à tester
Sans être sur, à tester
Sub Synthese() 'Ouvrir fichiers concernés, déclarations des variables Dim i As Integer Dim j As Integer Dim k As Long Dim n As Integer Dim Chemin As String Dim Statut As String Dim Nfchier As String Dim Srce As Worksheet Dim ShtCible As Worksheet Dim Datasrce As Workbook Dim Cible As Workbook Dim ShtDatasrce As Worksheet Set Srce = Worksheets("Str.Cts") For i = 1 To 47 Chemin = Srce.Cells(i + 3, 3).Value Statut = Srce.Cells(i + 3, 4).Value Nfchier = Srce.Cells(i + 3, 2).Value 'Test pour savoir quel fichier ouvrir If Chemin <> "" And Statut = "" Then '<code basic> Application.Workbooks.Open Chemin 'Le classeur actif devient celui qui vient d'être ouvert 'il faut compter le nombre feuilles et pour chacune alimenter la ligne 'correspondante dans la feuille compil du classeur récap Set Cible = ThisWorkbook Set ShtCible = Cible.Worksheets("Compil") n = Datasrce.Sheets.Count k = ShtCible.Cells(Rows.Count, "C").End(xlUp).Row + 1 For j = 1 To n With ShtCible Set ShtDatasrce = Datasrce.Worksheets(j) ShtCible.Cells(k, "C") = ShtDatasrce.Name ShtCible.Cells(k, "D") = ShtDatasrce.Cells(2, "A") ShtCible.Cells(k, "F") = ShtDatasrce.Cells(4, "C") ShtCible.Cells(k, "J") = ShtDatasrce.Cells(2, "C") ShtCible.Cells(k, "K") = ShtDatasrce.Cells(2, "E") ShtCible.Cells(k, "L") = ShtDatasrce.Cells(2, "G") ShtCible.Cells(k, "N") = ShtDatasrce.Cells(2, "I") ShtCible.Cells(k, "O") = ShtDatasrce.Cells(5, "I") ShtCible.Cells(k, "P") = ShtDatasrce.Cells(6, "I") ShtCible.Cells(k, "Q") = ShtDatasrce.Cells(7, "I") ShtCible.Cells(k, "R") = ShtDatasrce.Cells(8, "I") End With k = k + 1 Set ShtDatasrce = Nothing Next j ThisWorkbook.Close End If Next i End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Ah ben là, oui des lacunes
dans ce bout de code
Set Cible --> tu initialise le classeur avec la variable cible
n= --> tu initialise la variable n
idem pour k
for j=1 --> tu initialise j à 1 jusqu'à la variable n
comme ta variable Datasrce n'est pas initialise, le programme BUG
Ah ben là, oui des lacunes
dans ce bout de code
Set Cible = ThisWorkbook Set ShtCible = Cible.Worksheets("Compil") n = Datasrce.Sheets.Count k = ShtCible.Cells(Rows.Count, "C").End(xlUp).Row + 1 For j = 1 To n
Set Cible --> tu initialise le classeur avec la variable cible
n= --> tu initialise la variable n
idem pour k
for j=1 --> tu initialise j à 1 jusqu'à la variable n
comme ta variable Datasrce n'est pas initialise, le programme BUG