Creer un message d'erreur sous excel [Résolu/Fermé]

Messages postés
76
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
27 février 2011
- - Dernière réponse : 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
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1094
1
Merci
De rien

;o)

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62807 internautes nous ont dit merci ce mois-ci

Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1094
0
Merci
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)
Messages postés
76
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
27 février 2011
0
Merci
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 !?
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1094
0
Merci
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.
Messages postés
76
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
27 février 2011
0
Merci
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 !
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1094
0
Merci
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)
Messages postés
76
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
27 février 2011
0
Merci
:-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
Messages postés
76
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
27 février 2011
0
Merci
Merci, sa à marché comme sur des roulettes après quelques galère malgrès tout !
Super et encore merci !