Creer un message d'erreur sous excel

Résolu
lolseb Messages postés 77 Statut Membre -  
lolseb Messages postés 77 Statut Membre -
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
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    De rien

    ;o)
    1
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  3. lolseb Messages postés 77 Statut Membre
     
    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
  4. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lolseb Messages postés 77 Statut Membre
     
    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
  7. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  8. lolseb Messages postés 77 Statut Membre
     
    :-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
  9. lolseb Messages postés 77 Statut Membre
     
    Merci, sa à marché comme sur des roulettes après quelques galère malgrès tout !
    Super et encore merci !
    0