Code en VBA

Résolu
Bonjour,
je suis presque arrivé à faire quelque chose de correct avec les macro exel. mais je bloc la dessus.
gmao = Application.InputBox(Prompt:="n'oubliez pas d'extraire dans résultat le RMP05 " & "& gmao & ", Title:="entrez votre code GMAO")
Workbooks.Open Filename:="C:\Documents and Settings\ZINDIEN\Bureau\jeu flash\" & gmao & ".xls"

mon code fonctionne très bien sauf si le fichier n'existe pas. comment faire pour qu'il sorte de la macro sans poser de question ou simplement en disant que le fichier n'existe pas?
merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. merci polux31,
    sa fonctionne.
    j'était loin d'y arrivé, je cherchais à faire une boucle............
    0
    1. Dans ce cas tu fais une fonction qui retourne un booléen.

      Par exemple:

      Function OuvrirFichier() As Boolean

      On Error Resume Next
      gmao = Application.InputBox(Prompt:="n'oubliez pas d'extraire dans résultat le RMP05 " & "& gmao & ", Title:="entrez votre code GMAO")
      Workbooks.Open Filename:="C:\Documents and Settings\ZINDIEN\Bureau\jeu flash\" & gmao & ".xls"

      If Err.Number <> 0 then
      MsgBox "Erreur: le ficher " & gmao & ".xls n'existe pas.",,"Message erreur"
      OuvrirFichier = False
      Exit Function
      Else
      OuvrirFichier = True
      End If

      End Function

      // Appel de la fonction OuvrirFichier

      Sub Command1_click()
      Dim vrai As Boolean

      vrai = False
      While vrai = False
      vrai = OuvrirFichier
      Wend

      End Sub

      Ne pas prendre comme ça, c'est un exemple fait de tête ... a toi de l'adapter
      0
      1. Bonjour,
        merci sa fonctionne très bien. par contre je vais essayé de trouve unmoyen de rebouclé sur gmao = Application.InputBox(Prompt:="n'oubliez pas d'extraire dans résultat le RMP05 " & "& gmao & ", Title:="entrez votre code GMAO").
        de façon à ce qu'il demande un nom jusqu'au bon.
        mais vous pouvez m'aider aussi je suis pas contre.
        encore merci
        0
        1. Bravo Polux31,

          C'est beaucoup plus simple que ma version et ça fonctionne tout aussi bien.
          J'en prend note !

          Merci.

          Cordialement.
          0
          1. bonjour daiman,

            On Error Resume Next
            ......

            If Err.Number <> 0 then
            MsgBox "Erreur: le ficher " & gmao & ".xls n'existe pas.",,"Message erreur"
            ' Ici ton code que doit éxecuter ton programme ex: Exit Sub
            End If

            bon courage

            ;o)
            0
            1. Rebonjour daiman,

              J'ai trouvé, j'ai testé, ça fonctionne :
              gmao = Application.InputBox(Prompt:="n'oubliez pas d'extraire dans résultat le RMP05 " & "& gmao & ", Title:="entrez votre code GMAO")
              With Application.FileSearch
                    .NewSearch
                    .Filename = gmao & ".xls"
                    .LookIn = "C:\Documents and Settings\ZINDIEN\Bureau\jeu flash\"
                    .SearchSubFolders = False
                    If .Execute = 0 Then
                      MsgBox "Fichier inexistant !", vbOKOnly + vbExclamation
                      Exit Sub
                    End If
              End With
              Workbooks.Open Filename:="C:\Documents and Settings\ZINDIEN\Bureau\jeu flash\" & gmao & ".xls"

              Tu peux bien sûr modifier le code en lieu et place de
              MsgBox "Fichier inexistant !", vbOKOnly + vbExclamation
              mais il faut conserver
              Exit Sub
              sinon ça plante.

              J'espère que ça marchera aussi chez toi !

              Cordialement.
              0
              1. Bonjour daiman,

                Pour sortir de la macro sans plantage, c'est simple :

                On Error Resume Next
                gmao = Application.InputBox(Prompt:="n'oubliez pas d'extraire dans résultat le RMP05 " & "& gmao & ", Title:="entrez votre code GMAO")
                Workbooks.Open Filename:="C:\Documents and Settings\ZINDIEN\Bureau\jeu flash\" & gmao & ".xls"


                Je cherche la solution pour afficher un message (j'ai peu pratiqué la gestion des erreurs, je m'intéresse donc à ton problème pour ma culture personnelle).

                Cordialement.
                0