Bug insertion de ligne indésirée
Bonjour à tous,
Je suis de nouveau confronté à un bug super bizarre :D !
3 lignes sont crées en haut de ma feuille "Facture manuelle" après l'execution de ma macro alors que je n'avais pas ce problème avant. Ce qui est étrange c'est que quand je supprime ces 3 lignes et que je relance la macro tout fonctionne correctement ! J'ai examiné la macro et je ne vois aucune instruction lui demandant faire cette action.
Si vous pouviez m'éclairer , merci :D !
PS: Ne pas tenir compte de mes nombreux select lol , je sais il faut que j'optimise tout ca, d'ailleurs si vous avez une suggestion je suis preneur !
Code :
Sub EXPORT_FACTURES()
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect Password:="TEST"
Sheets("Historique facture").Visible = True
Dim Chemin As String
Dim dossier As String
Dim doublon As String
Chemin = "C:\Users\" & Sheets("BDC TC").Range("J46").Value & "\Groupe BBS\LOGISTIQUE - General\Export 2021\Conteneurs expédiés\"
dossier = Sheets("BDC TC").Range("R1").Value
If Dir(Chemin & dossier, vbDirectory) = "" Then MkDir Chemin & dossier
ChDrive "C:"
ChDir Chemin & dossier
On Error GoTo doublon
If Sheets("Facture manuelle BBS").Range("L1") = "1" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A22").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O1").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G11").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G47").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
Sheets("Facture manuelle BBS").Select
End If
If Sheets("Facture manuelle BBS").Range("L2") = "1" Then
Sheets("Facture manuelle BBS").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=2, To:=2, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A84").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O2").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G73").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G109").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
Sheets("Facture manuelle BBS").Select
End If
If Sheets("Facture manuelle BBS").Range("L3") = "1" Then
Sheets("Facture manuelle BBS").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=3, To:=3, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A146").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O3").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G135").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G171").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
Sheets("Facture manuelle BBS").Select
End If
If Sheets("Facture manuelle BBS").Range("L4") = "1" Then
Sheets("Facture manuelle BBS").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=4, To:=4, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A208").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O4").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G197").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G233").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
Sheets("Facture manuelle BBS").Select
End If
If Sheets("Facture manuelle BBS").Range("L5") = "1" Then
Sheets("Facture manuelle BBS").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=5, To:=5, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A270").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O5").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G259").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G295").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
Sheets("Facture manuelle BBS").Select
End If
If Sheets("Facture manuelle BBS").Range("L6") = "1" Then
Sheets("Facture manuelle BBS").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=6, To:=6, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A332").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O6").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G321").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G357").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
Sheets("Facture manuelle BBS").Select
End If
If Sheets("Facture manuelle BBS").Range("L7") = "1" Then
Sheets("Facture manuelle BBS").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"FACTURE BBS N°" & Range("N4").Value & " - " & Range("N2").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=7, To:=7, OpenAfterPublish:= _
True
Sheets("Historique facture").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Facture manuelle BBS").Select
Range("N1").Select
Selection.copy
Sheets("Historique facture").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N2").Select
Selection.copy
Sheets("Historique facture").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("A394").Select
Selection.copy
Sheets("Historique facture").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("O7").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("G383").Select
Application.CutCopyMode = False
Selection.copy
Sheets("Historique facture").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture manuelle BBS").Select
Range("N4").Select
Selection.copy
Sheets("Historique facture").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Sheets("Facture manuelle BBS").Select
Range("G419").Select
Selection.copy
Sheets("Historique facture").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Compteur").Range("B3").Value = Sheets("Compteur").Range("E3").Value
End If
Sheets("Facture manuelle BBS").Select
With ActiveSheet
.Shapes("Generer_On").Visible = False
.Shapes("Generer_Off").Visible = True
.Shapes("ExpTC_Off").Visible = False
.Shapes("ExpTC_On").Visible = True
.Shapes("Groupe 49").Visible = False
.Shapes("Groupe 64").Visible = True
End With
Exit Sub
doublon: MsgBox "Impossible de générer le fichier car il est déjà existant et actuellement ouvert !"
Sheets("Historique facture").Visible = False
ActiveWorkbook.Unprotect Password:="TEST"
Application.ScreenUpdating = True
End Sub
Bonjour,
Quand on veut un code VBA sûr, il faut bannir les .Select
(et aussi aussi éviter les Copy / Paste Value)
Tout ça est inutile, néfaste et très souvent source de problème.
Bonsoir Ju_Vba, bonsoir le forum,
Ha ha ha ! Mort de rire... Je veux bien t'aider mais il faut que tu m'aides aussi. J'ai quelques fautes de frappe dans mon texte, pourrais-tu me corriger ?
Ha oui le texte que je suis bête... : À la recherche du temps perdu...
[Édition]
Bonsoir Patrice, nos posts se sont croisés...
@Patrice33740 Oui je compte bien nettoyer tout cela. Le problème viendrai donc de ma soupe de select - copy/paste?
Bonsoir,
pour le coup j'ai eu peur de devoir passer en page 2 pour lire la suite du Post... Alors que le fichier avec ce même code aurait été plus court...
Quand je lis ceci :
Ce qui est étrange c'est que quand je supprime ces 3 lignes et que je relance la macro tout fonctionne correctement !
J'aurais tendance à dire : au vu du code, on n'est plus à ça près, il suffit de demander au code de supprimer les trois première ligne en testant une valeur sur une de ces cellules afin que la suppression ne se fasse qu'une seule fois, non ?
@ bientôt
LouReeD