Bonjour,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde le détail
de la facture sur un fichier historique de factures et qui en même temps efface
certaines données.
J'ai réussi Í me faire aider par les tuto trouvés sur youtube mais malgré avoir
fait exactement pareil en remplaçant les bonnes cellules , j'a tout le temps ce
message d'erreur 1004 qui me fait devenir folle !
je n'arrive pas Í trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne = Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" & ligne).Value > Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & ligne).Value > Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & ligne).Value > Sheets("Facture").Range("A" & ligne_origine).Value
Sheets("Historique_facture").Range("D" & ligne).Value > Sheets("Facture").Range("B" & ligne_origine).Value
Sheets("Historique_facture").Range("E" & ligne).Value > Sheets("Facture").Range("G" & ligne_origine).Value
Sheets("Historique_facture").Range("F" & ligne).Value > Sheets("Facture").Range("H" & ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value = Sheets("Facture").Range("B20").Value
+ 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
Bonjour,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde le détail
de la facture sur un fichier historique de factures et qui en même temps efface
certaines données.
J'ai réussi Í me faire aider par les tuto trouvés sur youtube mais malgré avoir
fait exactement pareil en remplaçant les bonnes cellules , j'a tout le temps ce
message d'erreur 1004 qui me fait devenir folle !
je n'arrive pas Í trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne = Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" & ligne).Value > Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & ligne).Value > Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & ligne).Value > Sheets("Facture").Range("A" & ligne_origine).Value
Sheets("Historique_facture").Range("D" & ligne).Value > Sheets("Facture").Range("B" & ligne_origine).Value
Sheets("Historique_facture").Range("E" & ligne).Value > Sheets("Facture").Range("G" & ligne_origine).Value
Sheets("Historique_facture").Range("F" & ligne).Value > Sheets("Facture").Range("H" & ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value = Sheets("Facture").Range("B20").Value
+ 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
Bonjour,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde le détail
de la facture sur un fichier historique de factures et qui en même temps efface
certaines données.
J'ai réussi Í me faire aider par les tuto trouvés sur youtube mais malgré avoir
fait exactement pareil en remplaçant les bonnes cellules , j'a tout le temps ce
message d'erreur 1004 qui me fait devenir folle !
je n'arrive pas Í trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne = Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" & ligne).Value > Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & ligne).Value > Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & ligne).Value > Sheets("Facture").Range("A" & ligne_origine).Value
Sheets("Historique_facture").Range("D" & ligne).Value > Sheets("Facture").Range("B" & ligne_origine).Value
Sheets("Historique_facture").Range("E" & ligne).Value > Sheets("Facture").Range("G" & ligne_origine).Value
Sheets("Historique_facture").Range("F" & ligne).Value > Sheets("Facture").Range("H" & ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value = Sheets("Facture").Range("B20").Value
+ 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
Le 28/02/21 Í 13:23, mimine98 a écrit :BonjourBonjour,Bonjour,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde
le détail
de la facture sur un fichier historique de factures et qui en même temps
efface
certaines données.
J'ai réussi Í me faire aider par les tuto trouvés
sur youtube mais malgré avoir
fait exactement pareil en remplaçant les bonnes cellules , j'a tout le
temps ce
message d'erreur 1004 qui me fait devenir folle !
je n'arrive pas Í trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail
utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne =
Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" & ligne).Value
> Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & ligne).Value
> Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & ligne).Value
> Sheets("Facture").Range("A" &
ligne_origine).Value
Sheets("Historique_facture").Range("D" & ligne).Value
> Sheets("Facture").Range("B" &
ligne_origine).Value
Sheets("Historique_facture").Range("E" & ligne).Value
> Sheets("Facture").Range("G" &
ligne_origine).Value
Sheets("Historique_facture").Range("F" & ligne).Value
> Sheets("Facture").Range("H" &
ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value =
Sheets("Facture").Range("B20").Value
+ 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
La seule chose Í modifier dans le code de la procédure
"Archiver() est
cette ligne de code que tu modifies comme celle-ci :
ligne=Sheets("Historique_facture").Range("A:A").Find("*",LookIn:=xlFormulas,
_ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
Ton fichier : https://www.cjoint.com/c/KBCuioyOHij
MichD
Le 28/02/21 Í 13:23, mimine98 a écrit :BonjourBonjour,Bonjour,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde
le détail
de la facture sur un fichier historique de factures et qui en même temps
efface
certaines données.
J'ai réussi Í me faire aider par les tuto trouvés
sur youtube mais malgré avoir
fait exactement pareil en remplaçant les bonnes cellules , j'a tout le
temps ce
message d'erreur 1004 qui me fait devenir folle !
je n'arrive pas Í trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail
utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne =
Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" & ligne).Value
> Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & ligne).Value
> Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & ligne).Value
> Sheets("Facture").Range("A" &
ligne_origine).Value
Sheets("Historique_facture").Range("D" & ligne).Value
> Sheets("Facture").Range("B" &
ligne_origine).Value
Sheets("Historique_facture").Range("E" & ligne).Value
> Sheets("Facture").Range("G" &
ligne_origine).Value
Sheets("Historique_facture").Range("F" & ligne).Value
> Sheets("Facture").Range("H" &
ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value =
Sheets("Facture").Range("B20").Value
+ 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
La seule chose Í modifier dans le code de la procédure
"Archiver() est
cette ligne de code que tu modifies comme celle-ci :
ligne=Sheets("Historique_facture").Range("A:A").Find("*",LookIn:=xlFormulas,
_ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
Ton fichier : https://www.cjoint.com/c/KBCuioyOHij
MichD
juste une petite question concernant le numero de facture . j'ai essayé de
mettre le " bon " format souhaité c'est a dire 2021-01 , 2021-02 etc... mais il
semblerait qu'il est pas content avec ce format . il me note erreur 13,
incompatibilité de type.
est ce que c'est "value" qui fait erreur ?
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value = Sheets("Facture").Range("B20").Value
+ 1
merci par avance pour votre aide et votre efficacité !
juste une petite question concernant le numero de facture . j'ai essayé de
mettre le " bon " format souhaité c'est a dire 2021-01 , 2021-02 etc... mais il
semblerait qu'il est pas content avec ce format . il me note erreur 13,
incompatibilité de type.
est ce que c'est "value" qui fait erreur ?
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value = Sheets("Facture").Range("B20").Value
+ 1
merci par avance pour votre aide et votre efficacité !
juste une petite question concernant le numero de facture . j'ai essayé de
mettre le " bon " format souhaité c'est a dire 2021-01 , 2021-02 etc... mais il
semblerait qu'il est pas content avec ce format . il me note erreur 13,
incompatibilité de type.
est ce que c'est "value" qui fait erreur ?
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value = Sheets("Facture").Range("B20").Value
+ 1
merci par avance pour votre aide et votre efficacité !
Bonjour,Bonsoir,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde le
détail de la facture sur un fichier historique de factures et qui en
même temps efface certaines données.
J'ai réussi à me faire aider par les tuto trouvés sur
youtube mais malgré avoir fait exactement pareil en remplaçant
les bonnes cellules , j'a tout le temps ce message d'erreur 1004 qui me fait
devenir folle !
je n'arrive pas à trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail
utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne =
Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" &
ligne).Value = Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" &
ligne).Value = Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" &
ligne).Value = Sheets("Facture").Range("A" &
ligne_origine).Value
Sheets("Historique_facture").Range("D" &
ligne).Value = Sheets("Facture").Range("B" &
ligne_origine).Value
Sheets("Historique_facture").Range("E" &
ligne).Value = Sheets("Facture").Range("G" &
ligne_origine).Value
Sheets("Historique_facture").Range("F" &
ligne).Value = Sheets("Facture").Range("H" &
ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value =
Sheets("Facture").Range("B20").Value + 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
Bonjour,Bonsoir,
je débute sur le vba et j'avais besoin de faire macro qui sauvegarde le
détail de la facture sur un fichier historique de factures et qui en
même temps efface certaines données.
J'ai réussi à me faire aider par les tuto trouvés sur
youtube mais malgré avoir fait exactement pareil en remplaçant
les bonnes cellules , j'a tout le temps ce message d'erreur 1004 qui me fait
devenir folle !
je n'arrive pas à trouver le problème .
je suis sous excel 2010 , je sais pas si cela peut être un détail
utile.
Sub Archiver()
For Each Item In Sheets("Facture").Range("A25:A36")
If Item.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne =
Sheets("Historique_facture").Range("A2").End(xlDown).Row +
1
ligne_origine = Item.Row
Sheets("Historique_facture").Range("A" &
ligne).Value = Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" &
ligne).Value = Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" &
ligne).Value = Sheets("Facture").Range("A" &
ligne_origine).Value
Sheets("Historique_facture").Range("D" &
ligne).Value = Sheets("Facture").Range("B" &
ligne_origine).Value
Sheets("Historique_facture").Range("E" &
ligne).Value = Sheets("Facture").Range("G" &
ligne_origine).Value
Sheets("Historique_facture").Range("F" &
ligne).Value = Sheets("Facture").Range("H" &
ligne_origine).Value
End If
Next Item
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value =
Sheets("Facture").Range("B20").Value + 1
End Sub
le fichier si cela peut aider
https://cjoint.com/c/KBCsrSfORDf
Merci d'avance pour votre aide !
Ce serait mieux comme ceci...terminer le premier café de laMerci MichD je viens de la recopier dans mon module sur mon fichier .
journée!
'--------------------------------------------
Sub Archiver()
Dim Ligne As Long
Dim C As Range
'Il ne faut pas utiliser des expressions propres au langage VBA
'comme variable... cela peut porter Í confusion. Exemple : Item
For Each C In Sheets("Facture").Range("A25:A36")
If C.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
'Recherche la première ligne non occupée
Ligne =
Sheets("Historique_facture").Range("A:F").Find("*",
LookIn:=xlValues, _
SearchOrder:=xlByRows,
SearchDirection:=xlPrevious).Row + 1
Sheets("Historique_facture").Range("A" & Ligne).Value
Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & Ligne).Value
Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & Ligne).Value
Sheets("Facture").Range("A" & C.Row).Value
Sheets("Historique_facture").Range("D" & Ligne).Value
Sheets("Facture").Range("B" & C.Row).Value
Sheets("Historique_facture").Range("E" & Ligne).Value
Sheets("Facture").Range("G" & C.Row).Value
Sheets("Historique_facture").Range("F" & Ligne).Value
Sheets("Facture").Range("H" & C.Row).Value
LigneData = LigneData + 1
End If
Next
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value
Sheets("Facture").Range("B20").Value + 1
End Sub
'--------------------------------------------------------
MichD
Ce serait mieux comme ceci...terminer le premier café de laMerci MichD je viens de la recopier dans mon module sur mon fichier .
journée!
'--------------------------------------------
Sub Archiver()
Dim Ligne As Long
Dim C As Range
'Il ne faut pas utiliser des expressions propres au langage VBA
'comme variable... cela peut porter Í confusion. Exemple : Item
For Each C In Sheets("Facture").Range("A25:A36")
If C.Value = "" Then
'ne rien faire
Else
'archiver le contenu de la ligne
'Recherche la première ligne non occupée
Ligne =
Sheets("Historique_facture").Range("A:F").Find("*",
LookIn:=xlValues, _
SearchOrder:=xlByRows,
SearchDirection:=xlPrevious).Row + 1
Sheets("Historique_facture").Range("A" & Ligne).Value
Sheets("Facture").Range("B20").Value
Sheets("Historique_facture").Range("B" & Ligne).Value
Sheets("Facture").Range("F10").Value
Sheets("Historique_facture").Range("C" & Ligne).Value
Sheets("Facture").Range("A" & C.Row).Value
Sheets("Historique_facture").Range("D" & Ligne).Value
Sheets("Facture").Range("B" & C.Row).Value
Sheets("Historique_facture").Range("E" & Ligne).Value
Sheets("Facture").Range("G" & C.Row).Value
Sheets("Historique_facture").Range("F" & Ligne).Value
Sheets("Facture").Range("H" & C.Row).Value
LigneData = LigneData + 1
End If
Next
' on reinitialise la facture
Sheets("Facture").Range("A25:A36").ClearContents
Sheets("Facture").Range("G25:G36").ClearContents
'calcul du numero de facture suivant
Sheets("Facture").Range("B20").Value
Sheets("Facture").Range("B20").Value + 1
End Sub
'--------------------------------------------------------
MichD