Bonjour a vous tous,
est possible dans la macro ci dessous au lieu de "texte" de la cellule B3 pour pouvoir activer ma macro, mais plutôt de pouvoir l'activer quelque soit le texte dans la cellule B3.
Par avance, merci
Sub messageourirfichiermodèle()
If Sheets("Feuille_modèle").Range("b3").Value = "texte" Then
Call Feuil9.Copier_Nommer_Feuilles
Else
MsgBox "Veuillez completer la fiche modèle"
Bonsoir.
Pour répondre strictement à votre question :
VB:
If VarType(Sheets("Feuille_modèle").Range("b3").Value) = vbString Then
Mais le message que vous mettez quand il s'agit d'autre chose que d'un texte me semble bizarre quand même …
Êtes-vous sûr que c'est ce que vous vouliez ?
Sinon :
VB:
Select Case Vartype(Sheets("Feuille_modèle").Range("b3").Value)
Case vbEmpty: ' Acction à réaliser si la cellule est vide.
Case vbString: ' Action à réaliser s'il s'agit d'un texte, celui ci pouvant même être une chaine vide
Case vbCurreny: ' Action à réaliser s'il s'agit d'un nombre que le format de cellule impose comme devise.
Case vdDate: ' Action à réaliser s'il s'agit d'une date.
Case vbDouble: ' Action à réaliser s'il s'agit d'un nombre
Case vbBoolean:' Action à réaliser s'il s'agit de VRAI ou FAUX
Case vbError: ' Action à réaliser s'il s'agit d'une valeur d'erreur.
End Select
Bonsoir.
Pour répondre strictement à votre question :
VB:
If VarType(Sheets("Feuille_modèle").Range("b3").Value) = vbString Then
Mais le message que vous mettez quand il s'agit d'autre chose que d'un texte me semble bizarre quand même …
Êtes-vous sûr que c'est ce que vous vouliez ?
Sinon :
VB:
Select Case Vartype(Sheets("Feuille_modèle").Range("b3").Value)
Case vbEmpty: ' Acction à réaliser si la cellule est vide.
Case vbString: ' Action à réaliser s'il s'agit d'un texte, celui ci pouvant même être une chaine vide
Case vbCurreny: ' Action à réaliser s'il s'agit d'un nombre que le format de cellule impose comme devise.
Case vdDate: ' Action à réaliser s'il s'agit d'une date.
Case vbDouble: ' Action à réaliser s'il s'agit d'un nombre
Case vbBoolean:' Action à réaliser s'il s'agit de VRAI ou FAUX
Case vbError: ' Action à réaliser s'il s'agit d'une valeur d'erreur.
End Select
Bonsoir Marcel32,
merci pour votre implication et cela fonctionne très bien.
je vous souhaite une excellente soiré
bien cordialement
et merci a vous deux
Sub test()
If Len([B3]) And Application.IsText([B3]) Then
TaMacro
Else
MsgBox "Veuillez completer la fiche modèle!", vbCritical, "Attention!"
End If
End Sub
Sub TaMacro()
MsgBox Date
End Sub