Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de nom différent de la liste

7 réponses
Avatar
Guy85
Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me rempli
automatiquement les cellules C8 avec "Prélèvement, D8 avec Divers Travaux
et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing Then
Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex =
xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte que
j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module avec la
fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au moins
le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.





--
Cordialement
Guy

7 réponses

Avatar
Daniel.C
Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le
"#NA!" dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me rempli
automatiquement les cellules C8 avec "Prélèvement, D8 avec Divers Travaux
et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing Then
Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex =
xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Interior.ColorIndex
= 4
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex = 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte que
j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module avec la
fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au moins le
passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.


Avatar
Guy85
Bonjour Daniel
Ma formule était :
=SI($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))).
La nouvelle :
=SI(estna($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0)))).
ça ne fonctionne plus ?
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:

Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le "#NA!"
dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me
rempli automatiquement les cellules C8 avec "Prélèvement, D8 avec
Divers Travaux et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing
Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex
= xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex
= 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte
que j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module avec
la fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au
moins le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.






Avatar
Daniel.C
=SI(OU(ESTNA($B32);$B32="");"";RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))
Daniel

Bonjour Daniel
Ma formule était :
=SI($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))).
La nouvelle :
=SI(estna($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0)))).
ça ne fonctionne plus ?
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:

Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le "#NA!"
dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me
rempli automatiquement les cellules C8 avec "Prélèvement, D8 avec Divers
Travaux et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing
Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex =
xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex
= 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte
que j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module avec
la fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au moins
le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.








Avatar
Guy85
Merci Daniel
--
Cordialement
Guy
"Daniel.C" a écrit dans le message de news:
%
=SI(OU(ESTNA($B32);$B32="");"";RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))
Daniel

Bonjour Daniel
Ma formule était :
=SI($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))).
La nouvelle :
=SI(estna($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0)))).
ça ne fonctionne plus ?
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:

Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le
"#NA!" dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me
rempli automatiquement les cellules C8 avec "Prélèvement, D8 avec
Divers Travaux et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing
Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row,
7)).Interior.ColorIndex = xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte
que j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module
avec la fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au
moins le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.












Avatar
Guy85
J'ai répondu trop vite, d'accord pour #N/A.
En fait j'ai toujours : "Erreur d'exécution 13 et Incompatibilité de type".
Je suis d'accord, c'est normal, mais est-il possible d'éviter ça.
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
%
=SI(OU(ESTNA($B32);$B32="");"";RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))
Daniel

Bonjour Daniel
Ma formule était :
=SI($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))).
La nouvelle :
=SI(estna($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0)))).
ça ne fonctionne plus ?
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:

Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le
"#NA!" dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me
rempli automatiquement les cellules C8 avec "Prélèvement, D8 avec
Divers Travaux et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing
Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row,
7)).Interior.ColorIndex = xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte
que j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module
avec la fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au
moins le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.












Avatar
Daniel.C
Le message est provoqué par une valeur d'erreur à la cellule :
Cells(Target.Row, 5)
Il faut donc en modifier la formule.
Tu peux mettre un exemple sur www.cijoint.fr et poster ici l'adresse
générée. Efface au préalable les données confiddentielles.
Sinon, utilise le code suivant :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing
Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row,
7)).Interior.ColorIndex = xlNone
On Error GoTo Fin
If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 1
Exit Sub
End If
Fin:
End Sub

Daniel

J'ai répondu trop vite, d'accord pour #N/A.
En fait j'ai toujours : "Erreur d'exécution 13 et Incompatibilité de type".
Je suis d'accord, c'est normal, mais est-il possible d'éviter ça.
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
%
=SI(OU(ESTNA($B32);$B32="");"";RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))
Daniel

Bonjour Daniel
Ma formule était :
=SI($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))).
La nouvelle :
=SI(estna($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0)))).
ça ne fonctionne plus ?
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:

Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le "#NA!"
dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me
rempli automatiquement les cellules C8 avec "Prélèvement, D8 avec
Divers Travaux et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing
Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex
= xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une alerte
que j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module
avec la fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au
moins le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.














Avatar
Guy85
Ok ça fonctionne comme ça, je n'est plus le message,mais maintenant, je
retrouve #N/A.
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
%
Le message est provoqué par une valeur d'erreur à la cellule :
Cells(Target.Row, 5)
Il faut donc en modifier la formule.
Tu peux mettre un exemple sur www.cijoint.fr et poster ici l'adresse
générée. Efface au préalable les données confiddentielles.
Sinon, utilise le code suivant :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is Nothing Then
Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex =
xlNone
On Error GoTo Fin
If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
1
Exit Sub
End If
Fin:
End Sub

Daniel

J'ai répondu trop vite, d'accord pour #N/A.
En fait j'ai toujours : "Erreur d'exécution 13 et Incompatibilité de
type".
Je suis d'accord, c'est normal, mais est-il possible d'éviter ça.
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
%
=SI(OU(ESTNA($B32);$B32="");"";RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))
Daniel

Bonjour Daniel
Ma formule était :
=SI($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0))).
La nouvelle :
=SI(estna($B32="";"";(RECHERCHEV($B32;Liste!$A$2:$D$47;2;0)))).
ça ne fonctionne plus ?
--
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:

Bonjour.
Tu peux l'éviter avec "On Error", mais le mieux serait de gérer le
"#NA!" dans tes formules :
=SI(ESTNA(taformule);"";taformule)
Cordialement.
Daniel

Bonjour,
J'ai un liste de données avec validation en colonne B
Quand, je choisi dans la liste en B8 "Castorama" par exemple, cela me
rempli automatiquement les cellules C8 avec "Prélèvement, D8 avec
Divers Travaux et e E8 bricolage.
Dans le code dans "ThisWorkbook" j'ai:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D70")) Is
Nothing Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row,
7)).Interior.ColorIndex = xlNone

If Cells(Target.Row, 5) = "Bricolage" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 4
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Font.ColorIndex = 1
Exit Sub
End If
End Sub

etc...............

Mais quand je saisi un mot qui n'est pas dans la liste, j'ai une
alerte que j'ai supprimé en décochant :

"Quand des données non valides sont tapées"

Cela me mets des #N/A, dans les cellules C8,D8,E8, ç'est normal.
Par contre ce qui m'embête c'est que ça me fait apparaître le module
avec la fenêtre :

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

Je suis d'accord, c'est normal, mais est-il possible d'éviter ça, au
moins le passage au code et la fenêtre ?
Les #N/A de toute façon, je suis obligé de saisir un texte donc ils
disparaissent.
Merci de votre aide.