Dim plage As Range With Sheets("depenses") ' si dépenses est bien son nom ... sinon : modifie Set plage = .Range("D4:D" & .Range("D" & Rows.Count).End(xlUp).Row) plage.NumberFormat = "###0.####" plage.Value = plage.Value ' ne sois par surprise par cela, hein (tu verras tes virgules remplacer les points). set plage = nothing End With
'C'EST CETTE ETAPE QUI NE MARCHE PAS Dim desti As Worksheet, source As Worksheet Set desti = Sheets("synthèse") Set source = Sheets("Dépenses") For A = 1 To Z For D = 6 To Y If source.Cells(D, 1).Value = sourceCells(A, 11).Value Then E = source.Cells(A, 12).Value With desti .Cells(D, 6).Value = source.Cells(E, 4).Value .Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'Dépenses'" & "!G" & E .Range(Cells(6, 6), Cells(Y, 6)).Font.ColorIndex = 0 .Range(Cells(6, 6), Cells(Y, 6)).HorizontalAlignment = xlCenter End With End If Next D 'FIN DE L'ETAPE QUI NE MARCHE PAS with desti dim plage as range Set plage = .Range("D1:D" & Z) plage.NumberFormat = "###0.####" plage.Value = plage.Value set plage = nothing End with ... et ta suite ...
B = Right(B, Len(B) - 6) 'On enlève les 6 premiers caractères
B = Mid(B,7)!
Sheets("Synthèse").Select Cells(D, 4).Select Cells(D, 4).Value = F
Sheets("Synthèse").cells(D,4).value = F
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSub MettreDépensesDansSynthèse() 'Déclaration des variables Dim Z As Integer Dim A As Integer Dim B As String Dim C As Integer Dim Y As Integer Dim D As Integer Dim E As Integer Dim F As Currency Dim Nom As String Dim Nom2 As String For Each Wb In Application.Workbooks 'ouverture de la boucle: pour tous les classeurs ouverts Nom = Wb.Name 'la variable Nom prend la valeur du nom du fichier activé If Left(Nom, 5) = "suivi" Then Nom2 = Nom Else End If Next 'Je me mets sur la feuille ou je dois commencer la macro Z = Workbooks(Nom2).Worksheets("SoldeCaisse").Range("A7").End(xlDown).Row 'je calcule le nombre de ligne dans la feuille SoldeCaisse Workbooks(Nom2).Worksheets("SoldeCaisse").Activate C = 1 For A = 7 To Z B = 0 'On initialise la valeur B If Len(Cells(A, 1)) = 4 Then 'Test pour savoir si la cellule contient bien 4caractères B = Cells(A, 1).Value 'La variable B prend la valeur de la cellule de la ligne A et de la 2è colonne Cells(C, 11).Value = B Cells(C, 12).Value = A C = C + 1 Else End If Next A Z = Workbooks(Nom2).Worksheets("SoldeCaisse").Range("K1").End(xlDown).Row Y = Sheets("Synthèse").Range("A6").End(xlDown).Row Sheets("SoldeCaisse").Select 'C'EST CETTE ETAPE QUI NE MARCHE PAS For A = 1 To Z B = Cells(A, 11).Value Sheets("Synthèse").Select For D = 6 To Y If Cells(D, 1).Value = B Then E = Sheets("SoldeCaisse").Cells(A, 12).Value F = Sheets("SoldeCaisse").Cells(E, 4).Value 'ligne PLANTE Sheets("Synthèse").Cells(D, 6).Value = F ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'Dépenses'" & "!G" & E Range(Cells(6, 6), Cells(Y, 6)).Select Selection.Font.ColorIndex = 0 Selection.HorizontalAlignment = xlCenter Sheets("SoldeCaisse").Select Else End If Next D Next A 'FIN DE L'ETAPE QUI NE MARCHE PAS Worksheets("SoldeCaisse").Columns("K:L").ClearContents Sheets("Synthèse").Select End Sub
Debug.Print E
F = Sheets("SoldeCaisse").Cells(E, 4).Value 'ligne PLANTE