Creer un message d'erreur sous excel

Résolu/Fermé
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011 - 10 oct. 2008 à 10:45
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011 - 18 janv. 2011 à 20:26
Bonjour,
Je souhaite creer un message d'erreur sous excel.
J'ai creer un tableau dans lequel mes données s'enregistrent automatiquement à l'aide d'une macro. Je remplis donc un prés-tableau puis je clik sur un bouton auquel j'ai affecté la macro. Cette macro, m'insert un ligne et me copis mes données de mon prés-tableau et l'insert dans mon réel tableau.
Ce que j'aimerais faire c'est lorsque que je clik sur mon bouton, et que toutes les données ne sont pas rentrés, il m'affiche un message d'erreur. J'aimerais aussi avoir un autre message d'erreur qui serait suite à une comparasion de valeur !
Je vous remercie d'avance pour l'interet que vous y porterez !
Cordialement
A voir également:

8 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 oct. 2008 à 15:59
De rien

;o)
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 oct. 2008 à 11:01
Bonjour,

On peut effectivement faire apparaitre un message en utilisant les macro Excel.

Il existe 2 façon de le faire en VBA. Soit en utilisant la boîte de message VB (MsgBox), soit en utilisant une UserForm que l'on peut configurer comme l'on veut.

If Not IsDate(maDate) Then
'Avec la boîte de message VB
MsgBox "La date " & maDate & " n'est pas une date valide.",VbExclamation,"Message Erreur"
'Avec une UserForm
UserForm1.Show
Else
'Avec la boîte de message VB
MsgBox "La date " & maDate & " est une date valide.",,"Bravo"
'Avec une UserForm
UserForm1.Show
End If

Bon courage

;o)
0
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011
10 oct. 2008 à 11:08
Heu ok, cependant comment je puis-je la mettre sur ma macro c'est plutot sa que j'ai pas compris, et je voudrais une comparaison de date, il me sufit de changer "&ma date&" dans le VB, par une formule !?
Pour les valeurs, s'agit-t-il du même proceder !?
Pour que la vérification de la totalité du tableau (tout remplis!?) Je fait de la même maniére !?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 oct. 2008 à 11:16
Tu n'as jamais fait de programmation ou programmé ?

C'est un peu plus compliqué que ça. Il faut définir la condition pour laquelle le message doit apparaitre. Dans mon exemple "maDate" est une variable qui contient la valeur à tester.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011
10 oct. 2008 à 11:21
Si si j'ai fait de la programmation sur DEv C++ ou d'autre logiciel mais c'est assez abstrait et de plus cela n'a été que de l'approche alors connaitre toutes les ptites astuce pour un débutant c'est pas évidant ;-) ... Bref, je voudrais que sa soit par comparaison avec la date d'une cellule. Et une vréification de si toutes les cellules sont remplis ou non !
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 oct. 2008 à 11:50
Voilà un exemple de code pour tester toutes les cellules d'une plage:

On admet, dans l'exemple, que la plage de cellules ("B2:F30") à tester est sur le premier onglet du classeur et que la date à comparer se trouve en "A1"

Sub TestCellule()
Dim cl As Range
Dim maDate As Variant
Dim str As Variant
Dim ok As Boolean
'
'On teste si il n'y a pas de cellule vide dans la plage
'Si une cellule est vide on informe l'utilisateur et on sort de la procédure
For Each cl in Worksheets("Feuil1").Range("B2:F30")
   If cl.value = "" Then
      MsgBox "Une cellule n'est pas renseignée",Vbexclamation,"Message Erreur"
      cl.Activate
      Exit Sub
   End If
Next cl

'On compare les dates contenues dans la plage
'avec la date de référence
maDate = Worksheets("Feuil1").Range("A1").value
For Each cl in Worksheets("Feuil1").Range("B2:F30")
     'on recupère la valeur de la cellule dans str
     str = cl.value
     If IsDate(str) = True Then
        If str < maDate Then
           MsgBox "La date est inférieure à " & maDate
           ElseIf str = maDate Then
               MsgBox "La date est égale à " & maDate
               ElseIf str > maDate Then
                  MsgBox "La date est supérieur à " & maDate
        End If
    End If
Next cl
End Sub


J'ai fait ça à "main levée" sans tester ... il peut y avoir un beug.

;o)
0
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011
10 oct. 2008 à 15:57
:-ooooooooooooooooo Bon bha j'ai plus qu'a essayer de comprendre tout sa, je vais taché de m'y atteler ce soir car là je ne peux regarde je suis à L'IUT.... je vous remercie et je vous tiens au courant !
cordialement lolseb
0
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011
18 janv. 2011 à 20:26
Merci, sa à marché comme sur des roulettes après quelques galère malgrès tout !
Super et encore merci !
0