Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

boite de dialogue

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 !

al1000

XLDnaute Impliqué
bonjour,

voici ma macro


Application.DisplayAlerts = False

Workbooks.Open Filename:="l:\imp\ouv 39.xls"

Application.DisplayAlerts = True

1)mais le fichier ouv 39 a un mot de passe

comment faire afin qu'il me demande pas le mot de passe ( ouverture en lecture seule)
et comment faire pour qu'il me demande pas mette les liaisons à jour

2) le fichier ouv 39 change toutes les semaines

ouv 40 puis ouv 42

comment faire pour qu'il me demande quel fichier ouvrir?


a+
 
Re : boite de dialogue

Bonjour Al1000, le Forum,

Ci-dessous une façon de faire tout ça (Application.DisplayAlerts est inutile ici) :
Code:
[SIZE=2][COLOR=NAVY]Sub[/COLOR] Ouvrir()
[COLOR=NAVY]Dim[/COLOR] Fichier [COLOR=NAVY]As Variant[/COLOR]
    [COLOR=GREEN]'Demande le numéro du fichier souhaité[/COLOR]
    Fichier = Application.InputBox("Numéro du fichier ?", "Ouvrir", [COLOR=NAVY]Type[/COLOR]:=1)
    [COLOR=NAVY]If[/COLOR] Fichier = [COLOR=NAVY]False Then Exit Sub[/COLOR]
    [COLOR=GREEN]'Vérifie que le fichier existe[/COLOR]
    Fichier = "l:\imp\ouv " & Fichier & ".xls"
    [COLOR=NAVY]If[/COLOR] Dir(Fichier) = "" [COLOR=NAVY]Then Exit Sub[/COLOR]
    [COLOR=GREEN]'Ouvre le fichier en lecture seule, sans mise à jour des liens[/COLOR]
    Workbooks.[COLOR=NAVY]Open[/COLOR] Filename:=Fichier, UpdateLinks:=[COLOR=NAVY]False[/COLOR], ReadOnly:=[COLOR=NAVY]True
End Sub[/COLOR][/SIZE]
Cordialement,
 
Re : boite de dialogue

Bonjour,

c'est genial

mais maintenant je veux fermer le fichier:

voici ce que j'avais;
Workbooks("ouv 39.xls").Close savechanges:=False


je veux juste fermer le fichier que j'ai ouvert (sans sauvegarde de ce drenier)


a+
 
Re : boite de dialogue

Bonsoir al1000, le Forum,

Code:
[SIZE=2]Workbooks.[COLOR=NAVY]Open[/COLOR] Filename:=Fichier, UpdateLinks:=[COLOR=NAVY]False[/COLOR], ReadOnly:=[COLOR=NAVY]True[/COLOR][/SIZE]
Ce code fait de ton classeur "Fichier" le classeur Actif.
  • Si ce dernier est toujours le classeur Actif au moment de le fermer, il suffit simplement de faire :
    Code:
    [SIZE=2]    ActiveWorkbook.[COLOR=NAVY]Close[/COLOR] SaveChanges:=[COLOR=NAVY]False[/COLOR]
    [/SIZE]
  • Si, compte tenu du traitement que tu effectues, le classeur en question n'est plus le classeur actif, alors il convient de modifier le code précédent comme suit :
    Code:
    [SIZE=2][COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]
    
    [COLOR=NAVY]Option Explicit[/COLOR]
    
    [COLOR=GREEN]'Variable déclarée en entête de module[/COLOR]
    [COLOR=NAVY]Dim[/COLOR] [B]FichierCible [/B][COLOR=NAVY]As[/COLOR] Workbook
    
    [COLOR=NAVY]Sub[/COLOR] Ouvrir()
    [COLOR=NAVY]Dim[/COLOR] Fichier [COLOR=NAVY]As Variant[/COLOR]
        [COLOR=GREEN]'Demande le numéro du fichier souhaité[/COLOR]
        Fichier = Application.InputBox("Numéro du fichier ?", "Ouvrir", [COLOR=NAVY]Type[/COLOR]:=1)
        [COLOR=NAVY]If[/COLOR] Fichier = [COLOR=NAVY]False Then Exit Sub[/COLOR]
        [COLOR=GREEN]'Vérifie que le fichier existe[/COLOR]
        Fichier = "l:\imp\ouv " & Fichier & ".xls"
        [COLOR=NAVY]If[/COLOR] Dir(Fichier) = "" [COLOR=NAVY]Then Exit Sub[/COLOR]
        [COLOR=GREEN]'Ouvre le fichier en lecture seule, sans mise à jour des liens[/COLOR]
        [COLOR=NAVY]Set[/COLOR] [B]FichierCible [/B]= Workbooks.[COLOR=NAVY]Open[/COLOR](Filename:=Fichier, UpdateLinks:=[COLOR=NAVY]False[/COLOR], ReadOnly:=[COLOR=NAVY]True[/COLOR])
    [COLOR=NAVY]End Sub[/COLOR]
    
    [COLOR=NAVY]Sub[/COLOR] Fermer()
        [B]FichierCible[/B].[COLOR=NAVY]Close[/COLOR] SaveChanges:=[COLOR=NAVY]False
    End Sub[/COLOR]
    [/SIZE]
Cordialement,
 
Re : boite de dialogue

bonsoir,

j'ouvre une boite de dialogue pour me demander qelle n° de semaine

mais je coudrais afficher dans la cellule b1 le numero de la semaine du fichier que j'ai demande

est ce possible?

a+
 
Re : boite de dialogue

Bonjour
Voici ma macro:
Fichier = Application.InputBox("Numéro du fichier ?", "Ouvrir", Type:=1)
If Fichier = False Then Exit Sub
'Vérifie que le fichier existe
Fichier = "l:\imp\besoins\Prés " & Fichier & ".xls"
If Dir(Fichier) = "" Then Exit Sub
'Ouvre le fichier en lecture seule, sans mise à jour des liens
Set FichierCible = Workbooks.Open(Filename:=Fichier, UpdateLinks:=False, ReadOnly:=True)

je voudrai que si le fichier est introuvable alors mette input box avec le message fichier introuvable

comment faire pour que le n° du fichier uinscrit dans input box se reinscrit dans la cellule b3

a+
 
- 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
20
Affichages
2 K
Réponses
21
Affichages
2 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…