Copier la dernière cellule de plusieu Feuille dans une autre
Bonjour,
Je suis débutante avec Excel, j'ai réussi à Faire des macros pour calculer la somme de quelques colonnes pour différents Feuille de calcul et l’écrire juste après le dernier Chiffre , je voulais en premier Temps colorier la ligne dans la quelle j'ai mis les résultats et copier le résultats dans un tableau récapitulatif (j'ai pu copier les derniers cellules de colonnes de la Feuille active dans ma Feuille récapitulatif mais je n'arrive pas à copier depuis le reste des feuille ni à colorier mes résultats)
Je vous met mon code pour le calcul de somme que j'ai utilisé
Sub Somme_Budgets()
Dim x As Integer, L As Integer, nombre_de_colonne As Integer
'Calculer la Somme des colonnes F à la colonne J pour chaque Feuille de mon classeur
'SIE-Etat-Budgets
Sheets("SIE-Etat-Budgets").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'DZ
Sheets("DZ").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'EFL
Sheets("EFL").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'ELSG
Sheets("ELSG").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'EL
Sheets("EL").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'DZ FSE
Sheets("DZ FSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'DZ BSE
Sheets("DZ BSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'EFL BSE
Sheets("EFL BSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'EFL FSE
Sheets("EFL FSE").Select
nombre_de_colonne = 9
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'ELSG BSE
Sheets("ELSG BSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'ELSG FSE
Sheets("ELSG FSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'EL BSE
Sheets("EL BSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
'EL FSE
Sheets("EL FSE").Select
nombre_de_colonne = 10
For x = 6 To nombre_de_colonne
L = Cells(Rows.Count, x).End(xlUp).Row
Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
Next
End Sub
la macro suivante copie la valeur de la dernière colonne motionné de la Feuil active dans une autre feuille destination, je n'arrive pas à sélectionner depuis plusieurs Feuilles !
Sub DerniereCelluleDeLaColonne()
'Retourne la valeur de la dernière cellule de la colonne F
Dim DerniereCellule0 As String
Dim DerniereCellule1 As String
Dim DerniereCellule2 As String
Dim DerniereCellule3 As String
With ActiveSheet
DerniereCellule0 = .Cells(.Rows.Count, "F").End(xlUp).Value
DerniereCellule1 = .Cells(.Rows.Count, "G").End(xlUp).Value
DerniereCellule2 = .Cells(.Rows.Count, "H").End(xlUp).Value
DerniereCellule3 = .Cells(.Rows.Count, "I").End(xlUp).Value
End With
'Recopier la valeur dans une nouvelle cellule
Sheets("Bilan").Range("I5").Value = DerniereCellule0
Sheets("Bilan").Range("I6").Value = DerniereCellule1
Sheets("Bilan").Range("I7").Value = DerniereCellule2
Sheets("Bilan").Range("I8").Value = DerniereCellule3
End Sub
Merci d'avance
Salut Rouritta,
à tester...
Sub Somme_Budgets()
'
Dim wks As Worksheet
Set wks = Worksheets("Bilan")
'
For x = 1 To Sheets.Count
sWks = Sheets(x).Name
If sWks <> "Bilan" Then
With Worksheets(sWks)
iLig = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
wks.Cells(iLig, 1) = sWks
For y = 6 To 10
sCel = Chr(64 + y)
iRow = .Cells(Rows.Count, y).End(xlUp).Row + 1
.Cells(iRow, y).Formula = "=SUM(" & sCel & "2:" & sCel & iRow - 1 & ")"
'
wks.Cells(iLig, y - 4) = .Cells(iRow, y)
Next
End With
End If
Next
'
End Sub
A+
Bonjour,
Merci pour votre réponse, ça ne marche pas, la ligne, ça bloque au niveau de la ligne "wks.Cells(iLig, y - 4) = .Cells(iRow, y)"
Si vous pouvez me commentez le code peut être j'arriverai à l'adapter à mes besoins ce serais plus simple
Merci
Bonne journée
Bonjour,
le bout de code marche très bien sauf que je n'arrive pas à l'adapter à mes besoins
moi je voulais copier dans des cellules précise, par exemple copier la dernière cellule de colonne F de la feuille x vers la cellule G5 de la Feuil Bilan, et ainsi de suite pour tous les restes de Feuils
Merci pour ton aide.
Bonne journée
Rouritta,
et ainsi de suite pour tous les restes de Feuils : si je te donnais cela comme indication pour un travail, tu comprendrais?
Des explications claires et complètes, stp!
Je commenterai le code que tu puisses l'adapter après à d'autres cas!
A+
Désolé, en faite c’était juste pour te dire qu'il s'agit de même traitement à répéter pour toutes les Feuilles, moi quand j'ai commencé j'ai réussi à copier les derniers cellules de colonnes de la Feuille active dans ma Feuille récapitulatif mais j'ai pas pu faire une boucle pour le reste des Feuilles de mon classeurs, voilà le code ( il marche très bien sauf qu'il ne boucle pas sur toutes mes Feuils)
Sub DerniereCelluleDeLaColonne()
'Retourne la valeur de la dernière cellule de la colonne F
Dim DerniereCellule0 As String
Dim DerniereCellule1 As String
Dim DerniereCellule2 As String
Dim DerniereCellule3 As String
With ActiveSheet
DerniereCellule0 = .Cells(.Rows.Count, "F").End(xlUp).Value
DerniereCellule1 = .Cells(.Rows.Count, "G").End(xlUp).Value
DerniereCellule2 = .Cells(.Rows.Count, "H").End(xlUp).Value
DerniereCellule3 = .Cells(.Rows.Count, "I").End(xlUp).Value
End With
'Recopier la valeur dans une nouvelle cellule
Sheets("Bilan").Range("I5").Value = DerniereCellule0
Sheets("Bilan").Range("I6").Value = DerniereCellule1
Sheets("Bilan").Range("I7").Value = DerniereCellule2
Sheets("Bilan").Range("I8").Value = DerniereCellule3
End Sub
Merci pour votre retour