cs_JPh007
Messages postés37Date d'inscriptionmardi 12 août 2008StatutMembreDernière intervention17 juillet 2012
-
10 nov. 2008 à 15:54
cs_JPh007
Messages postés37Date d'inscriptionmardi 12 août 2008StatutMembreDernière intervention17 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 ?
DidierLoche
Messages postés33Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention25 novembre 20081 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.