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

pb macro avec caractère #Valeur!

4 réponses
Avatar
fred
Bonsoir,

Voilà je voudrais qu'Excel me copie des données dans une feuille spécifique
en
fonction du numéro contenu dans la cellule B3. Jusque là çà marche. Or il
s'avère qu'une fois de temps en temps la cellule B3 ne comporte pas de
chiffre mais une erreur : #Valeur!

Voilà macro :

Sub copie_ou_sup()

'là çà ne marche pas
If Sheets("M").Range("B3") = "#Valeur!" Then
Module1.err
Else
End If

' après ici cela fonctionne
If Sheets("M").Range("B3") = "4" Then
Module1.an04
Else
End If
If Sheets("M").Range("B3") = "3" Then
Module1.an03
Else
End If
If Sheets("M").Range("B3") = "2" Then
Module1.an02
Else
End If
If Sheets("M").Range("B3") = "1" Then
Module1.an01
Else
End If
If Sheets("M").Range("B3") = NUL Then
Module1.an00
Else
End If
End Sub


Dans B3 j'ai collé en valeur la cellule B2 (mais elle a une fonction qui me
donnait une erreur : #Valeur)
B3 = #Valeur

En résumé j'ai essayé de mettre ds mon premier IF (mais hélàs cela ne marche
pas) les expressions suivantes :

- #Valeur!
- "#Valeur!"
- ESTERREUR
- Error

- If IsError(Sheets("Msn").["B3"]) = Vrai Then
Module1.err
Else
End If


Merci d'avance pour toute aide,
Fred

4 réponses

Avatar
isabelle
bonjour fred,

il y a deux possibilité,

If IsError([B3]) Then 'c'est vrai qu'il y a une erreur

If Not IsError([B3]) Then 'c'est vrai qu'il n'y a pas d'erreur

isabelle


Bonsoir,

Voilà je voudrais qu'Excel me copie des données dans une feuille spécifique
en
fonction du numéro contenu dans la cellule B3. Jusque là çà marche. Or il
s'avère qu'une fois de temps en temps la cellule B3 ne comporte pas de
chiffre mais une erreur : #Valeur!

Voilà macro :

Sub copie_ou_sup()

'là çà ne marche pas
If Sheets("M").Range("B3") = "#Valeur!" Then
Module1.err
Else
End If

' après ici cela fonctionne
If Sheets("M").Range("B3") = "4" Then
Module1.an04
Else
End If
If Sheets("M").Range("B3") = "3" Then
Module1.an03
Else
End If
If Sheets("M").Range("B3") = "2" Then
Module1.an02
Else
End If
If Sheets("M").Range("B3") = "1" Then
Module1.an01
Else
End If
If Sheets("M").Range("B3") = NUL Then
Module1.an00
Else
End If
End Sub

Dans B3 j'ai collé en valeur la cellule B2 (mais elle a une fonction qui me
donnait une erreur : #Valeur)
B3 = #Valeur

En résumé j'ai essayé de mettre ds mon premier IF (mais hélàs cela ne marche
pas) les expressions suivantes :

- #Valeur!
- "#Valeur!"
- ESTERREUR
- Error

- If IsError(Sheets("Msn").["B3"]) = Vrai Then
Module1.err
Else
End If

Merci d'avance pour toute aide,
Fred


Avatar
fred
Bonsoir Isabelle,
Merci pour votre aide précieuse. ;-)
Bonne soirée,
Fred
Avatar
Michel Gaboly
Bonsoir Fred,

Pour compléter la réponse d'Isabelle,

If IsError(Élément à tester) Then

suffit.

Il est est inutilie dans un test d'écrire

If Condition = True qui est une forme de pléonasme.

Ce n'est pas très grave, mais ce qui coince dans ton code c'est que tu
utilises "Vrai" au lieu de "True".

VBA est en anglais.

Bonne


isabelle wrote:
bonjour fred,

il y a deux possibilité,

If IsError([B3]) Then 'c'est vrai qu'il y a une erreur

If Not IsError([B3]) Then 'c'est vrai qu'il n'y a pas d'erreur

isabelle


Bonsoir,

Voilà je voudrais qu'Excel me copie des données dans une feuille spécifique
en
fonction du numéro contenu dans la cellule B3. Jusque là çà marche. Or il
s'avère qu'une fois de temps en temps la cellule B3 ne comporte pas de
chiffre mais une erreur : #Valeur!

Voilà macro :

Sub copie_ou_sup()

'là çà ne marche pas
If Sheets("M").Range("B3") = "#Valeur!" Then
Module1.err
Else
End If

' après ici cela fonctionne
If Sheets("M").Range("B3") = "4" Then
Module1.an04
Else
End If
If Sheets("M").Range("B3") = "3" Then
Module1.an03
Else
End If
If Sheets("M").Range("B3") = "2" Then
Module1.an02
Else
End If
If Sheets("M").Range("B3") = "1" Then
Module1.an01
Else
End If
If Sheets("M").Range("B3") = NUL Then
Module1.an00
Else
End If
End Sub

Dans B3 j'ai collé en valeur la cellule B2 (mais elle a une fonction qui me
donnait une erreur : #Valeur)
B3 = #Valeur

En résumé j'ai essayé de mettre ds mon premier IF (mais hélàs cela ne marche
pas) les expressions suivantes :

- #Valeur!
- "#Valeur!"
- ESTERREUR
- Error

- If IsError(Sheets("Msn").["B3"]) = Vrai Then
Module1.err
Else
End If

Merci d'avance pour toute aide,
Fred



Cordialement

Michel Gaboly
www.gaboly.com


Avatar
fred
Bonjour Michel,
Merci à vous aussi. ;-)
Fred