Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Clic sur Annuler

8 réponses
Avatar
Woody
Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler pour
arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre une
boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection
sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de la
boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche la
boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing

8 réponses

Avatar
Pierre Fauconnier
Bonjour

Que veux-tu dire par "arrêter la procédure"?

Ta méthode d'utiliser un If odialog.selecteditems.count devrait te
satisfaire...

Quel est le problème?

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler pour
arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre une
boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection
sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de la
boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche la
boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing


--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")

Avatar
papou
Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler pour
arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre une
boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection
sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de
la boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche la
boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing



Avatar
Pierre Fauconnier
Salut Pascal...

Es-tu sûr?? J'ai un très gros doute


Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler pour
arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre une
boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection
sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de la
boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche la
boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing




--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")


Avatar
papou
Salut Pierre
Oui j'ai testé et c'est
la valeur 0 qui est renvoyée avec Annuler
la valeur -1 qui est renvoyée avec Ok

odialog = Application.FileDialog(msoFileDialogFilePicker).Show
Debug.Print odialog

Excel 2003

Cordialement
Pascal

"Pierre Fauconnier" a écrit dans le
message de news:
Salut Pascal...

Es-tu sûr?? J'ai un très gros doute


Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler
pour arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre
une boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls"
'Sélection sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de
la boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche
la boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing




--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")






Avatar
Pierre Fauconnier
Oui, d'accord avec toi, mais alors oDialog n'est pas un objet
FileDialog comme montré dans la procédure de Woody, mais une variable
de type long.

Dans le cas d'une utilisation de la méthode comme tu le préconises, il
faut que Woody adapte son code...


Salut Pierre
Oui j'ai testé et c'est
la valeur 0 qui est renvoyée avec Annuler
la valeur -1 qui est renvoyée avec Ok

odialog = Application.FileDialog(msoFileDialogFilePicker).Show
Debug.Print odialog

Excel 2003

Cordialement
Pascal

"Pierre Fauconnier" a écrit dans le
message de news:
Salut Pascal...

Es-tu sûr?? J'ai un très gros doute


Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler
pour arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre une
boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection sur les
classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de
la boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche
la boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing




-- Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du moment
présent")





--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")




Avatar
papou
Oui c'est vrai, je n'avais pas noté sa déclaration Dim oDialog As
Office.FileDialog

Cordialement
Pascal

"Pierre Fauconnier" a écrit dans le
message de news:
Oui, d'accord avec toi, mais alors oDialog n'est pas un objet FileDialog
comme montré dans la procédure de Woody, mais une variable de type long.

Dans le cas d'une utilisation de la méthode comme tu le préconises, il
faut que Woody adapte son code...


Salut Pierre
Oui j'ai testé et c'est
la valeur 0 qui est renvoyée avec Annuler
la valeur -1 qui est renvoyée avec Ok

odialog = Application.FileDialog(msoFileDialogFilePicker).Show
Debug.Print odialog

Excel 2003

Cordialement
Pascal

"Pierre Fauconnier" a écrit dans
le message de news:
Salut Pascal...

Es-tu sûr?? J'ai un très gros doute


Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler
pour arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre
une boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection sur les
classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre
de la boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show
'Affiche la boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing




-- Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")





--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")








Avatar
papou
Woody
Donc dans ton cas (suite échange avec Pierre) tu peux adapter :
If odialog.Show = 0 then
Msgbox "opération annulée"
Exit Sub
Else
'....

End If

Cordialement
Pascal


"papou" a écrit dans le message
de news: %
Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler
pour arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre une
boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls" 'Sélection
sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de
la boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche
la boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing







Avatar
Woody
Pierre et Pascal,

Merci à tous les deux ! Ca marche !

Woody

"papou" a écrit dans le message
de news:
Woody
Donc dans ton cas (suite échange avec Pierre) tu peux adapter :
If odialog.Show = 0 then
Msgbox "opération annulée"
Exit Sub
Else
'....

End If

Cordialement
Pascal


"papou" a écrit dans le
message de news: %
Bonjour (Re) Woody
La méthode renvoie la valeur 0 si le bouton Annuler a été choisi donc :
oDialog.Show
If oDialog = 0 then
msgbox "opération annulée"
Else
'la suite...

Cordialement
PAscal


"Woody" a écrit dans le message de news:

Bonjour,

Dans la macro ci-dessous qui ouvre une boite de dialogue permettant de
sélectionner un fichier, comment capter le Clic sur le bouton Annuler
pour arrêter la procédure ?
Merci pour votre aide,

Cordialement,

Woody


Dim oDialog As Office.FileDialog

Set oDialog = XLApp.FileDialog(msoFileDialogFilePicker) 'Ouvre
une boîte de dialogue MS Office FilePicker
oDialog.Filters.Add "Fichiers Excel", "*.xls"
'Sélection sur les classeurs .XLS
oDialog.Title = "Sélectionnez le fichier Excel" 'Titre de
la boîte de dialogue
oDialog.AllowMultiSelect = False 'Pas de
sélection multiple
oDialog.Show 'Affiche
la boîte
If oDialog.SelectedItems.Count > 0 Then
NomClasseurXL = oDialog.SelectedItems(1)
MsgBox "Le classeur Excel sélectionné est : " & NomClasseurXL
End If
Set oDialog = Nothing