OVH Cloud OVH Cloud

Bogage

10 réponses
Avatar
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

10 réponses

Avatar
isabelle
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.


Avatar
MichDenis
| 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

;-)))
Avatar
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.




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

"Guy72" a écrit dans le message de news:
%
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.








Avatar
Guy72
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" a écrit dans le message de 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



Avatar
isabelle
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

;-)))




Avatar
isabelle
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

;-)))




Avatar
MichDenis
;-)

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

;-)))




Avatar
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" wrote in message
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



Avatar
Guy72
Bonjour,
ça se met en rouge.
--
Cordialement
Guy

"Mishell" a écrit dans le message de news:

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" wrote in message
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