2 conditions avant d'executer un code

Résolu
cs_JPh007 Messages postés 37 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 17 juillet 2012 - 10 nov. 2008 à 15:54
cs_JPh007 Messages postés 37 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 17 juillet 2012 - 10 nov. 2008 à 21:07
Bonjour,

Voilà mon soucis et mon bout de code,

J'aurais besoin que de deux conditions soient réunies avant d'éxecuter un code dans le cas contraire un message d'erreur s'affiche

Voilà mon code et les explications à la fin.

Sub CHARGEFORMULDESTI()
MsgBox ("Vous allez choisir le fichier base de données des destinataires. MISE EN GARDE SI LE FICHIER CHOISI N'EST PAS LE BON VOUS PERDEREZ TOUTES LES DONNEES")
Application.Dialogs(xlDialogOpen).Show CStr("FORMULAIRES DESTINATAIRES")

Application.ScreenUpdating = False
Dim i As Integer
Dim varControl As Boolean
varControl = False
For i = 1 To Workbooks.Count
If Workbooks(i).Name = "FORMULAIRES DESTINATAIRES.xls" Then
If Range("A500").Value = "AQL3AQF3" Then

MsgBox ("Le ficher est valide, la mise à jour sera effective")

    varControl = True
    Columns("D:P").Select
    Selection.Copy
    ActiveWindow.WindowState = xlMinimized
    Sheets("FORMULAIRES DESTINATAIRES").Select
    Range("D1").Select
    ActiveSheet.Paste
    Application.Run "FEUILLEDITSELECT"
    Application.Run "enregistre"
    Application.DisplayAlerts = False
    Workbooks("FORMULAIRES DESTINATAIRES.xls").Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox ("La mise à jour a été réalisée avec succès")
    ActiveWindow.WindowState = xlMaximized
    Application.Run "Auto_Open"
Else

End If

Next i
Application.ScreenUpdating = True
If varControl = False Then
MsgBox ("Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES.")
Application.Run "Auto_Open"
End If
End Sub

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Mon code charge un fichier nommé "FORMULAIRES DESTINATAIRES" dont le chemin est choisi par l'utilisateur

Ensuite le code vérifie que le classeur FORMULAIRES DESTINATAIRES est bien ouvert
et dans un second temps afin d'authentifier le classeur il vérifie que la valeur de la cellule masquée "A500" est bien "AQL3AQF3"

Après vérifications le code charge les données par un copié collé dans le classeur principal
Sinon le message d'erreur apparait: "Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES."

Sans la ligne: If Range("A500").Value = "AQL3AQF3" Then  Le code fonctionne très bien mais ne vérifie pas si la cellule A500 possède bien la valeur "AQL3AQF3"

Il me manque un bout de code avec les next je crois ?

2 réponses

DidierLoche Messages postés 33 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 25 novembre 2008 1
10 nov. 2008 à 20:45
Bonjour,

Il te manque un End If juste avant Next i
Sinon, tu peux faire comme cela :If Workbooks(i).Name "FORMULAIRES DESTINATAIRES.xls" And Range("A500").Value "AQL3AQF3" Then

Autre chose :
Le Else ne sert à rien, tu peux le supprimer.




Didier
3
cs_JPh007 Messages postés 37 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 17 juillet 2012
10 nov. 2008 à 21:07
Merci beaucoup à toi impec ça marche
0
Rejoignez-nous