La méthode 'Insert' de l'objet 'Range' a échoué

Bonjour à Tous,

J'ai une erreur qui n’apparaît pas sur mon poste de travail (WIN7) mais sur celui d'un collègue sous WIN10 aléatoirement que je n'arrive pas à reproduire chez moi et à corriger, voici la macro :

Sub INSERT_LIGNES()

Workbooks("FORMULAIREMICROS.xlsm").Worksheets("FORMULAIRE").Activate

If Range("B16") = "" Then
    MsgBox "ATTENTION !" & Chr(10) & Chr(10) & "Veuillez entrer un code article /ou matricule avant d'ajouter une nouvelle ligne"

Else

ActiveSheet.Unprotect Password:="SIMPHONY"

Dim Lg%, Rep
    Lg = Range("B65536").End(xlUp).Row

        Rep = "1"

    Rows(Lg).Copy
    Range(Rows(Lg + 1), Rows(Lg + Rep)).Insert
    Application.CutCopyMode = False
    Range(Rows(Lg + 1), Rows(Lg + Rep)).SpecialCells(xlCellTypeConstants, 23).ClearContents

ActiveSheet.Protect Password:="SIMPHONY", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells

End If

End Sub
capture

Lors de l'exécution, le message d'erreur cité en objet apparaît mais je n'ai pas de piste pour résoudre ce problème.

En vous remerciant pour votre aide.

Bonjour Kewin, bonjour le forum,

Comme tu précises pas d'où est lancée le code (de quel classeur et de quel onglet de ce classeur), je te conseille de le spécifier systématiquement ou d'utiliser des variables (ce qui simplifie l'écriture du code) :

Sub INSERT_LIGNES()
Dim CL As Workbook
Dim O As Worksheet
Dim Lg%, Rep

Set CL = Workbooks("FORMULAIREMICROS.xlsm")
Set O = CL.Worksheets("FORMULAIRE")
If O.Range("B16") = "" Then
    MsgBox "ATTENTION !" & Chr(10) & Chr(10) & "Veuillez entrer un code article /ou matricule avant d'ajouter une nouvelle ligne"
Else
    O.Unprotect Password:="SIMPHONY"
    Lg = O.Range("B65536").End(xlUp).Row
    Rep = "1"
    O.Rows(Lg).Copy
    O.Range(O.Rows(Lg + 1), O.Rows(Lg + Rep)).Insert
    Application.CutCopyMode = False
    O.Range(O.Rows(Lg + 1), O.Rows(Lg + Rep)).SpecialCells(xlCellTypeConstants, 23).ClearContents
    O.Protect Password:="SIMPHONY", DrawingObjects:=True, Contents:=True, Scenarios:=True
    O.EnableSelection = xlUnlockedCells
End If
End Sub

Je viens d'insérer ton code en remplacement du miens, je vais transmettre le fichier à mon collègue voir si l'anomalie persiste,

Un grand merci pour les explications, je ferai un retour dès que le test sera effectué, pour ma part, ici ça fonctionne bien.

Les modifications fonctionnes ! Merci pour votre aide

Bonjour, malheureusement le même bug c'est reproduit,

j'ai à nouveau le même message d'erreur...

Une idée ?

Merci pour votre aide

Bonjour Kewin, bonjour le forum,

Comme tu précises pas d'où est lancée le code (de quel classeur et de quel onglet de ce classeur), je te conseille de le spécifier systématiquement ou d'utiliser des variables (ce qui simplifie l'écriture du code) :

Sub INSERT_LIGNES()
Dim CL As Workbook
Dim O As Worksheet
Dim Lg%, Rep

Set CL = Workbooks("FORMULAIREMICROS.xlsm")
Set O = CL.Worksheets("FORMULAIRE")
If O.Range("B16") = "" Then
    MsgBox "ATTENTION !" & Chr(10) & Chr(10) & "Veuillez entrer un code article /ou matricule avant d'ajouter une nouvelle ligne"
Else
    O.Unprotect Password:="SIMPHONY"
    Lg = O.Range("B65536").End(xlUp).Row
    Rep = "1"
    O.Rows(Lg).Copy
    O.Range(O.Rows(Lg + 1), O.Rows(Lg + Rep)).Insert
    Application.CutCopyMode = False
    O.Range(O.Rows(Lg + 1), O.Rows(Lg + Rep)).SpecialCells(xlCellTypeConstants, 23).ClearContents
    O.Protect Password:="SIMPHONY", DrawingObjects:=True, Contents:=True, Scenarios:=True
    O.EnableSelection = xlUnlockedCells
End If
End Sub

Le bug est réapparu, je ne suis pas certain mais je pense que cela viendrai peut être du fait le la feuille se déverrouille et reverrouille dans la macro ? une idée ?

Bonjour KeWin,

Désolé mais je n'ai pas d'idée...

Rechercher des sujets similaires à "methode insert objet range echoue"