IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonction EST(OUVERT) ..VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 22
    Points : 9
    Points
    9
    Par défaut Fonction EST(OUVERT) ..VBA
    Bonsoir à tous
    Je sollicite une bonne volonté pour réparer ce code VBA que j’essaie en vain de faire fonctionner.
    Je suis très loin d’être une pro du développement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
     
      estouvert = False
      chemin = ActiveWorkbook.Path
    For Each fich In Workbooks
    If fich.Name = "toto.xlsm" Then estouvert = True
    'Sheets("Feuil1").Range("A1").Activate
    Next
    If estouvert = False Then
    Workbooks.Open Filename:=chemin & "\" & "toto.xlsm"
    'Sheets("Feuil1").Range("A1").Activate
    End If
    End Sub
    Merci beaucoup de votre aide

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    Février 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Points : 351
    Points
    351
    Par défaut
    Bonsoir,
    Sans tester, il te manque un "End if" sur le premier If.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Bonsoir Emmanuel R

    j'ai modifié le code comme ci dessus mais excel me met erreur de compilation end if sans bloc if
    en fait le fichier toto.xlsm peut etre masqué. Je voudrais par cette macro l'activer, et afficher la fuille1


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
     
      estouvert = False
      chemin = ActiveWorkbook.Path
    For Each fich In Workbooks
    If fich.Name = "toto.xlsm" Then estouvert = True
    'Sheets("Feuil1").Range("A1").Activate
    End If
    Next
    If estouvert = False Then
    Workbooks.Open Filename:=chemin & "\" & "toto.xlsm"
    'Sheets("Feuil1").Range("A1").Activate
    End If
    End Sub

  4. #4
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Kelly, bonsoir le forum,

    Prend l'habitude d'utiliser les balises code. Il suffit de sélectionner le code et de cliquer sur le bouton #. C'est plus facile à lire...

    Dans la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If fich.Name = "toto.xlsm" Then estouvert = True

    Tu as la condition et l'action si la condition est vrai dans la même ligne. Le End IF, deux lignes plus bas, est donc de trop...

    J'utilise souvent ce bout de code pour tester un classeur ouvert. Par la suite, la variable CL me permet d'agir sur le classeur sans avoir à écrire Workbooks("toto,xlsm") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim CL As Workbook
    Dim chemin As String
     
    chemin = ThisWorkbook.Path 'à adapter
    On Error Resume Next
    Set CL = Workbooks("toto.xlms")
    If Err <> 0 Then
        Err.Clear
        Workbooks.Open Filename:=chemin & "\" & "toto.xlsm"
        Set CL = ActiveWorkbook
    End If
    On Error GoTo 0
    End Sub
    À plus,

    Thauthème

    Je suis Charlie

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    MERCI Thautheme de ton aide
    "ton bout de code " est bien précieux. il est parfaitement adapté à mon projet. Je l'ai complété avec mes procédures et tout fonctionne .... Enfin pour l'instant ( croisons les doigts)
    Merci à Emmanuel R aussi.

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, regarde ici

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    J'ai pourtant clairement indiqué dans sa précédente discussion de rechercher dans ce forum ExistWindow ou IsOpen

    Est-ce si difficile de lancer une recherche ?!

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Verifier qu'un fichier Word est ouvert à partir de VBA Excel
    Par dimitrios dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 07/01/2009, 17h37
  2. Réponses: 5
    Dernier message: 27/03/2008, 18h52
  3. [VBA]Contrôler si un etat est ouvert
    Par Nicko29 dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/11/2007, 20h40
  4. [VBA-E] Verifier si un fichier est ouvert
    Par peaceandloveman01 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/09/2007, 14h45
  5. Fermer un classeur via VBA que si il est ouvert
    Par dimitrios dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2006, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo