Bogage

Le
Guy72
Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

etc.

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.
--
Cordialement
Guy
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #5233281
bonjour Guy,

en début de macro :

If Target.Columns.Count = 256 Then Exit Sub

isabelle

Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

etc.......

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.


MichDenis
Le #5233271
| If Target.Columns.Count = 256 Then Exit Sub
| isabelle

Je ne sais pas si c'est la solution.... mais tu aurais pu
faire un petit effort et universaliser ton code maintenant
qu'il y a excel 2007

If Target.Columns.Count = Columns.Count Then Exit Sub

;-)))
Guy72
Le #5233261
Bonjour Isabelle
ça ne change rien.
--
Cordialement
Guy

"isabelle" a écrit dans le message de news:
Orz%
bonjour Guy,

en début de macro :

If Target.Columns.Count = 256 Then Exit Sub

isabelle

Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex
= 2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex
= 2
Exit Sub
End If

etc.......

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.




Guy72
Le #5233241
J'ai Excel 2003.
Aucune des deux solutions ne fonctionne.
--
Cordialement
Guy

"Guy72" %
Bonjour Isabelle
ça ne change rien.
--
Cordialement
Guy

"isabelle" a écrit dans le message de news:
Orz%
bonjour Guy,

en début de macro :

If Target.Columns.Count = 256 Then Exit Sub

isabelle

Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 2
Exit Sub
End If

etc.......

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.








Guy72
Le #5233181
Quand je copie les 4 premières cellules de la ligne : ça fonctionne.
En fait le problème se pose à partir du moment ou je veux copier + de 4
cellules en ligne.
--
Cordialement
Guy

"Guy72"
Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

etc.......

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.
--
Cordialement
Guy



isabelle
Le #5233121
pas encore arrivé à cette étape ;-)
isabelle

| If Target.Columns.Count = 256 Then Exit Sub
| isabelle

Je ne sais pas si c'est la solution.... mais tu aurais pu
faire un petit effort et universaliser ton code maintenant
qu'il y a excel 2007

If Target.Columns.Count = Columns.Count Then Exit Sub

;-)))




isabelle
Le #5233111
déjà que je suis en plein déménagement tu n'y pense pas, déménagé la geôle en plus ;-)

isabelle

| If Target.Columns.Count = 256 Then Exit Sub
| isabelle

Je ne sais pas si c'est la solution.... mais tu aurais pu
faire un petit effort et universaliser ton code maintenant
qu'il y a excel 2007

If Target.Columns.Count = Columns.Count Then Exit Sub

;-)))




MichDenis
Le #5233081
;-)

Et te sens pas oublier de faire suivre les bancs de neige aussi...

;-))


"isabelle" a écrit dans le message de news: e%
déjà que je suis en plein déménagement tu n'y pense pas, déménagé la geôle en plus ;-)

isabelle

| If Target.Columns.Count = 256 Then Exit Sub
| isabelle

Je ne sais pas si c'est la solution.... mais tu aurais pu
faire un petit effort et universaliser ton code maintenant
qu'il y a excel 2007

If Target.Columns.Count = Columns.Count Then Exit Sub

;-)))




Mishell
Le #5232741
Bonjour.

If Target = "307"
est l'équivalent de
If Target.value = "307"

Comme tu colle une ligne, Target n'est pas une cellule mais une ligne. Et on
ne peut pas invoquer la propriété Value d'une ligne car une ligne n'a pas de
propriété Value.
Tu pourrais mettre par exemple
If Cells(Target.Row, 6).value = "307"
Cela serait valide.

Mishell


"Guy72" news:
Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

etc.......

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.
--
Cordialement
Guy



Guy72
Le #5232591
Bonjour,
ça se met en rouge.
--
Cordialement
Guy

"Mishell"
Bonjour.

If Target = "307"
est l'équivalent de
If Target.value = "307"

Comme tu colle une ligne, Target n'est pas une cellule mais une ligne. Et
on ne peut pas invoquer la propriété Value d'une ligne car une ligne n'a
pas de propriété Value.
Tu pourrais mettre par exemple
If Cells(Target.Row, 6).value = "307"
Cela serait valide.

Mishell


"Guy72" news:
Bonjour,
Pourquoi, quand je fais un copier/coller d'une ligne, j'ai le message
suivant :

"Erreur d'exécution '13'.
Incompatibilité de type.

Et dans le code ci-dessous, (qui se trouve dans (ThisWorkbook) j'ai la
ligne.
"If Target = "307" Then" sélectionnée en jaune ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

If Target = "307" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex
= 2
Exit Sub
End If

If [Target] = "R21" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 3
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex
= 2
Exit Sub
End If

etc.......

Fin:
End Sub

Comment puis-je éviter ça ?
Merci de votre aide.
--
Cordialement
Guy







Publicité
Poster une réponse
Anonyme