macro ouverture de fichier, si annuler, aller a l'instruction ...

  • Initiateur de la discussion Initiateur de la discussion iStarOSX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

iStarOSX

XLDnaute Junior
Bonjour a tous.

j'ai une macro qui me permet de choisir et ouvrir un classeur et d’exécuter des instructions sur ce classeur.

Mais si on annule l'ouverture, la macro continu de s’exécuter normalement alors que je voudrais aller aux instructions en fin de ma macro.

Voici le code :
Code:
Sub Dpp()
Application.ScreenUpdating = False

Application.DisplayAlerts = False

Application.Calculation = xlManual

Sheets("Dpp").Cells.Clear


Unload userformA
 
             NomFic = Application.GetOpenFilename("Text files (*.csv), *.csv") '(, , "programmes Presses")
        If NomFic <> False Then
            Workbooks.OpenText Filename:=NomFic, DataType:=1, Semicolon:=True, local:=True
        End If
        
        
With Activebook
    ActiveSheet.Range("A1:IV65536").Copy
    ActiveWindow.Close
End With

With ThisWorkbook
.Sheets("Deperditions").Select
With Sheets("Deperditions")
.Range("A1").Select
.Paste
End With
End With

ViderPresse_Papier
        
 Application.DisplayAlerts = True

Application.ScreenUpdating = True

Sheets("Dpp").Select

Entetet_Deper.Show False

Sheets("Cat").Select
End Sub


Pour gérer "Annuler", je l'avais modifié comme cela :

Code:
Sub Dpp()
Application.ScreenUpdating = False

Application.DisplayAlerts = False

Application.Calculation = xlManual

Sheets("Dpp").Cells.Clear


Unload userformA
 
             NomFic = Application.GetOpenFilename("Text files (*.csv), *.csv") '(, , "programmes Presses")
        If NomFic <> False Then
            Workbooks.OpenText Filename:=NomFic, DataType:=1, Semicolon:=True, local:=True


            On cancel Goto Fin


        End If
        
        
With Activebook
    ActiveSheet.Range("A1:IV65536").Copy
    ActiveWindow.Close
End With

With ThisWorkbook
.Sheets("Deperditions").Select
With Sheets("Deperditions")
.Range("A1").Select
.Paste
End With
End With

ViderPresse_Papier
        
 Application.DisplayAlerts = True

Application.ScreenUpdating = True

Sheets("Dpp").Select

Entetet_Deper.Show False



Fin :


Sheets("Cat").Select
End Sub


Mais cela ne fonctionne pas.

Comment je peu gérer le cas d'annulation d'ouverture du fichier ?

merci pour votre aide.
 
Re : macro ouverture de fichier, si annuler, aller a l'instruction ...

Bonjour,

modifie peut être ainsi, enfin si j'ai bien compris :
Code:
        If NomFic <> False Then
            Workbooks.OpenText Filename:=NomFic, DataType:=1, Semicolon:=True, local:=True
else
exit sub 'pour sortir de la procédure        
End If

bonne journée
@+
 
Re : macro ouverture de fichier, si annuler, aller a l'instruction ...

Bonjour iStarOSX, Pierrot, bonjour le forum,

Peut-être comme ça :
Code:
Sub Dpp()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlManual
Sheets("Dpp").Cells.Clear
Unload userformA
NomFic = Application.GetOpenFilename("Text files (*.csv), *.csv") '(, , "programmes Presses")

If MsgBox("Voulez-vous ouvrir le fichier ?", vbYesNo) = vbNo Then GoTo Fin

If NomFic <> False Then
    If MsgBox("Voulez-vous ouvrir le fichier ?", vbYesNo) = vbNo Then GoTo Fin
    Workbooks.OpenText Filename:=NomFic, DataType:=1, Semicolon:=True, local:=True
End If
With Activebook
    ActiveSheet.Range("A1:IV65536").Copy
    ActiveWindow.Close
End With
ThisWorkbook.Sheets("Deperditions").Range("A1").Paste
ViderPresse_Papier
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Sheets("Dpp").Select
Entetet_Deper.Show False
Fin:
Sheets("Cat").Select
End Sub
 
Re : macro ouverture de fichier, si annuler, aller a l'instruction ...

Bonjour Pierrot93 et Robert.

Merci beaucoup pour votre aide (et si je ne me trompe pas, ce n'est pas la première fois que vous m'aidez).

La solution de Pierrot93 correspond totalement a ce que je cherche a faire.

J'ai testé le code de Robert mais cela alourdi mon appli avec le message-box de confirmation d'ouverture.

En tout cas un grand merci a vous deux et a bientôt.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
899
  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
1 K
Réponses
2
Affichages
1 K
Réponses
33
Affichages
4 K
Retour