VBA MsgBox en cas de "non conformité"

MACx

XLDnaute Occasionnel
Bonjour à vous,

J'ai besoin svp d'une petite aide toute simple (pour vous!). Moi étant complètement novice en VBA

Ma colonne A est censée n'avoir que des chiffres (nombres entiers à 4 ou 5 caractères uniquement) à chaque ligne...
Lignes qui s'incrémentent automatiquement par le biais d'une autre macro (Insertion d'une ligne en Ligne2 et copie de certaines valeurs en A2, B2 et C2)
Mais il se peut que par erreur un texte, une date (mais sous forme chiffre (nombre entier) ou des chiffres à virgule apparaisse en A2.
Je veux alors qu'Excel vérifie cette conformité et dans le cas où A2 n'est pas un nombre (car c'est là qu'en réalité se trouvera l'erreur) alors qu'il me fasse apparaître une MscgBox

Mon essai :

Sheets("Feuil1").Select
If (Not (IsNumber(Range("A2")))) Then
MsgBox ("Message")
End If

Erreur affichée (PopUp) :

Erreur de Compilation: Sub ou Function non définie

Merci d'avance à qui pourra/voudra m'aider
 

MACx

XLDnaute Occasionnel
Re : VBA MsgBox en cas de "non conformité"

Suite...

Maintenant je veut qu'Excel me vérifie une autre condition :

Par rapport à la cellule active (qui sera toujours en colonne A), vérifier si la cellule de la même ligne en colonne 7 (H) est vide ou non
Si n'est pas vide alors MsgBox

Sinon vérifier la condition précédente dont tu m'as déjà aidé.

Merci de ton aide encore une fois
 

camarchepas

XLDnaute Barbatruc
Re : VBA MsgBox en cas de "non conformité"

A mettre dans le module code de la feuille concernée,

Clic droit sur le nom de l'onglet, visualiser code


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(0, 6) = "" Then
  MsgBox "frf"
 Else
 If Not WorksheetFunction.IsNumber(Range("A2")) Then MsgBox "Message", vbCritical
End If

End Sub
 

MACx

XLDnaute Occasionnel
Re : VBA MsgBox en cas de "non conformité"

Cette fois ça ne fonctionne pas :(
J'ai déjà un Code d'écrit sur cette feuille (Pour mettre en "surbrillance" la cellule active)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iState As Integer
Dim bSaved As Boolean
If Application.CutCopyMode = False Then 'If a copy is active, do not update cell otherwise copy is cancelled...
bSaved = ThisWorkbook.Saved
iState = Application.Calculation
Application.Calculation = xlCalculationAutomatic
ActiveCell.Calculate ' Enable to highlight the active row with conditional formatting
Application.Calculation = iState
ThisWorkbook.Saved = bSaved
End If
End Sub

Est ce que celà peut avoir une conséquence ?

Merci
 

Discussions similaires

Réponses
7
Affichages
949