Microsoft 365 Macro archiver et générer nouveau document vierge

chris63*

XLDnaute Nouveau
Bonjour le forum,

En m'inspirant de la solution trouvée dans un autre fil (voir ci-dessous) , j'essaie d'archiver des infos et générer un nouveau tableau vierge.
https://www.excel-downloads.com/thr...d1-historique-pb-si-plusieurs-pages.20056041/

La macro a fonctionné parfaitement pour les premières données, (le tableau de recap s'est rempli automatiquement et le document a été réinitialisé) mais pas pour les suivantes. Rien ne se passe...

Avez vous une idée du problème ?

Ci-joint mon fichier.

Merci d'avance et bonne journée :)

Chris
 

Pièces jointes

  • Tableau de margev2.xlsm
    23.3 KB · Affichages: 6
Solution
Re
En clair :
-soit tu choisis d'écrire toute ta condition if sur la même ligne et tu n'as pas besoin de "end if"
-soit du l'écris sur plusieurs lignes et il faut le "end if"

If x=y then je fais ci et je fais ça ==> pas de end if

if x=y then
Je fais ci
Je fais ça
end if <== il faut le end if

@Phil69970

Phil69970

XLDnaute Barbatruc
@chris63*

Je viens de regarder vite fait il faut déplacer ton "end if"

VB:
Sub ARCHIVER_MARGE()
If Worksheets("RECAP_MARGE").Range("Tableau1").Item(1, 1) <> "" Then
    ligne = Worksheets("RECAP_MARGE").Range("Tableau1").Rows.Count + 2
Else
    ligne = 2
End If

With Sheets("CALCUL_MARGE")
    Sheets("RECAP_MARGE").Range("A" & ligne).Value = .Range("C2:D2").Value
    Sheets("RECAP_MARGE").Range("B" & ligne).Value = .Range("D12").Value
    Sheets("RECAP_MARGE").Range("C" & ligne).Value = .Range("D27").Value
    Sheets("RECAP_MARGE").Range("D" & ligne).Value = .Range("D29").Value
    Sheets("RECAP_MARGE").Range("E" & ligne).Value = .Range("D31").Value
    .[C2:D2,D8:D11,D15:D26].ClearContents
End With

End Sub

@Phil69970
 

Phil69970

XLDnaute Barbatruc
Re
En clair :
-soit tu choisis d'écrire toute ta condition if sur la même ligne et tu n'as pas besoin de "end if"
-soit du l'écris sur plusieurs lignes et il faut le "end if"

If x=y then je fais ci et je fais ça ==> pas de end if

if x=y then
Je fais ci
Je fais ça
end if <== il faut le end if

@Phil69970
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40