Problème erreur type 13 macro copier certaines colonnes vers autre feuille

  • Initiateur de la discussion Initiateur de la discussion Rhaly
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Rhaly

XLDnaute Nouveau
Bonjour a tous et au forum!

Je viens de nouveau faire appel à vos lumières concernant un code permettant de copier les colonnes "Type", "Centre", "Client", "Date" et Nom (caché en colonne K ne sachant comment faire d'une autre manière lol) de la feuille CONSEILLER dans la feuille CORRECTIONS à chaque fois que le case "A Imprimer" est coché.
Cette macro fonctionne mais me renvoi une erreur de type 13 à chaque fois que je veux effacer la ligne.
D'après le debogeur, l'erreur viendrait de la ligne "If Target.Value = "X" Then" mais je ne comprend pas pourquoi :s

Je vous remercie par avance!

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A_Imprimer")) Is Nothing Then
If Target.Value = "X" Then
With Sheets("CORRECTIONS")
LigVide = .Range("A65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -8).Value
.Cells(LigVide, 2) = Target.Offset(0, -7).Value
.Cells(LigVide, 3) = Target.Offset(0, -6).Value
.Cells(LigVide, 4) = Target.Offset(0, -5).Value
.Cells(LigVide, 5) = Target.Offset(0, 2).Value

End With
End If
End If
End Sub
 

Pièces jointes

Re : Problème erreur type 13 macro copier certaines colonnes vers autre feuille

Je reviens vers vous, la macro suivante correspond bien à ce que je recherchais par contre l'original de ce fichier étant partagé, on a pu constater aujourd'hui des conflits dans le transfert des données quand le fichier n'était pas enregistré par l'un et l'autre des conseillers. Y aurait-il moyen d'inclure dans cette macro un enregistrement automatique avant de cocher la case à imprimer et également juste après?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A_Imprimer")) Is Nothing Then
If Target.Value = "X" Then
With Sheets("CORRECTIONS")
LigVide = .Range("A65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -8).Value
.Cells(LigVide, 2) = Target.Offset(0, -7).Value
.Cells(LigVide, 3) = Target.Offset(0, -6).Value
.Cells(LigVide, 4) = Target.Offset(0, -5).Value
.Cells(LigVide, 5) = Target.Offset(0, 2).Value

End With
End If
End If
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
703
Réponses
4
Affichages
579
Réponses
4
Affichages
439
Réponses
2
Affichages
667
Réponses
3
Affichages
833
Retour