Executer une condition depuis VBA fichier A sur un fichier B
Bonjour à tous,
TOujours débutant mais je progresse
Un nouveau petit soucis:
je travaille avec deux fichiers.
Sur le A je fais tourner une macro, et à un moment de cette macro, j'ai besoin d'ouvrir le fichier B, copier des données du fichier A dans une collonne du fichier B... Très facile !
Mais cela se corse, quand je copie ces données sur le fichier B, j'obtiens un résultats qui me dit si mes données son OK ou KO via une formule dans des colonnes.
Je voudrais faire arrêter ma macro, quand il y a un KO...
En gros il faudrais faire une condition via VBA sur un autre fichier.
J'ai essayer de copier la feuile du fichier B vers une feuille du fichier A pour simplifier, mais la macro s'alourdi car la feuille contient moult liaison vers des tables ACCESS.
voici la macro que j'aimerais intégrer:
'===Test de la valeur Erreur dans la plage de cellules===
'Sélection de la plage de cellules en col AW à partir de la col A
Sheets("ContrôleIBAN").Select
Range("A2").Select
Range(Selection.Offset(0, 28), Selection.End(xlDown).Offset(0, 28)).Select
Dim Rg As Range, Quoi As String
Quoi = "Erreur"
'Vérifie si présence valeur Erreur dans la plage de cellules définie
Set Rg = Range(Selection, Selection).Find(Quoi)
If Not Rg Is Nothing Then
MsgBox Quoi & " IBAN " & " ici : " & Rg.Address 'Message avec ref cellule trouvée
Exit Sub ' Arrête la macro
'Ou, si pas de valeur Erreur, continue l'exécution de la macro
Else: MsgBox "Pas d'" & Quoi & ". Tous les IBAN sont corrects ", vbInformation, "Contrôle IBAN"
Sheets("ContrôleIBAN").Select
Range("A2").Select
Range(Selection.Offset(0, 74), Selection.End(xlDown).Offset(0, 74)).Select
Selection.Copy
Sheets("FichierE4SC").Select
Range("L2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
Thx
Eric
Salut,
Je ne sais pas si c’est vraiment une bonne idée d’utiliser les résultats des formules placées dans le fichier B afin d’arrêter la macro au premier KO ou s’il vaudrait mieux effectuer ce contrôle par le code VBA lui-même (donc le code VBA effectuerait les calculs à la place de tes formules).
Difficile de t’en dire plus sans tes fichiers …. ou du moins sans des fichiers simulant la situation réelle, y compris les formules dans le fichier B, avec une petite explication de ce que tu désires faire par rapport aux fichiers que tu nous fourniras.
Cordialement.
Bonjour,
Désolé, j'ai été un peur pris par pal mal de chose...
Ma solution a été d'ouvrir le fichier B depuis le Fichier A avec Workbooks.Open Filename:, puis avec activatewindows faire les recup données depuis les bonnes feuilles selon les fichiers.
et cela marche super.
ensuite il suffit de faire close pou fermer le fichier B et continuer a travailler sur le fichier A et le tour est joué..
ERic