Petite procédure pour éviter le démarrage d'une macro si ?

Le
DC
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire pour le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
R1
Le #4397541
DC wrote:

Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire pour
le bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC


Au début de la macro, tester le nombre de classeurs ouverts.
Si >=2, continuer
Sinon sortir?
R1

JB
Le #4397521
Bonjour,

If Workbooks.Count>1 Then

End if

JB

On 7 avr, 13:47, "DC"
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d' une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut imp orte son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est néc éssaire pour le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC


DC
Le #4397411
Bonjour, R1 et JB

Merci de vos 2 réponses,

je ne suis vraiment pas doué, car avec moi çà ne fonctionne pas, ni l'une ni
l'autre, pourtant j'ai l'impression que vous avez bien compris le problème,

Celle de RI ouvre une fenêtre : Erreur de compilation / Erreur de syntaxe
Celle de JB se comporte comme si elle n'existat pas,

Peut-être l'emplacement, ou autre chose, je ne sais pas !

Merci de ne pas me laisser tomber ! Un grand MERCI d'avance !

Cordialement ! DC





"R1"
DC wrote:

Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire pour
le bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC


Au début de la macro, tester le nombre de classeurs ouverts.
Si >=2, continuer
Sinon sortir?
R1



JB
Le #4397391
Sub essai()
If Workbooks.Count > 1 Then
MsgBox "Il y a " & Workbooks.Count & " Classeurs ouverts"
'.... la macro
'.....
End If
End Sub

http://cjoint.com/?ehrnu7Yflq

JB

On 7 avr, 16:49, "DC"
Bonjour, R1 et JB

Merci de vos 2 réponses,

je ne suis vraiment pas doué, car avec moi çà ne fonctionne pas, ni l'une ni
l'autre, pourtant j'ai l'impression que vous avez bien compris le probl ème,

Celle de RI ouvre une fenêtre : Erreur de compilation / Erreur de synta xe
Celle de JB se comporte comme si elle n'existat pas,

Peut-être l'emplacement, ou autre chose, je ne sais pas !

Merci de ne pas me laisser tomber ! Un grand MERCI d'avance !

Cordialement ! DC

"R1"



DC wrote:

Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est né céssaire pour
le bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC


Au début de la macro, tester le nombre de classeurs ouverts.
Si >=2, continuer
Sinon sortir?
R1- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




R1
Le #4397271
DC wrote:

Bonjour, R1 et JB

Merci de vos 2 réponses,

je ne suis vraiment pas doué, car avec moi çà ne fonctionne pas, ni l'une
ni l'autre, pourtant j'ai l'impression que vous avez bien compris le
problème,

Celle de RI ouvre une fenêtre : Erreur de compilation / Erreur de syntaxe
Ma réponse n'était pas un code VBA, juste la description de la méthode. JB

lui a donné le code correspondant.
Reste à mettre la macro au bon endroit, éventuellement avec un MsgBox dans
le Else pour avertir de l'erreur.

Celle de JB se comporte comme si elle n'existat pas,

Peut-être l'emplacement, ou autre chose, je ne sais pas !

Merci de ne pas me laisser tomber ! Un grand MERCI d'avance !

Cordialement ! DC
Bonne continuation

R1

DC
Le #4397101
Bonjour, JB et R1 et bonnes Fêtes de
Pâques,

Merci de vos réponses rapides et positives !

Je pense avoir enfin compris et la preuve c'est que çà fonctionne à
merveille, exactement comme je l'espérais,

Un très grand MERCI à vous deux Messieurs, j'apprécie !

Cordialement ! DC

"JB"
Bonjour,

If Workbooks.Count>1 Then

End if

JB

On 7 avr, 13:47, "DC"
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire pour
le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC


DC
Le #4396341
Re Bonjour Messieurs,

Jamais content ce DC, à fusiller !.............

Après fonctionnement, je trouve un petit inconvénient, l'apparition de la
fenêtre se fait au mauvais moment,
C'est à dire qu'il faudrait qu'elle apparaisse quand il maque le 2ème
Classeur, et non pas quand tout est en place pour fonctionner,
Si la chose vous paraît logique, Merci d'y penser !

Cordialement ! Merci d'avance DC

"DC" 4618a0df$0$25939$
Bonjour, JB et R1 et bonnes Fêtes de
Pâques,

Merci de vos réponses rapides et positives !

Je pense avoir enfin compris et la preuve c'est que çà fonctionne à
merveille, exactement comme je l'espérais,

Un très grand MERCI à vous deux Messieurs, j'apprécie !

Cordialement ! DC

"JB"
Bonjour,

If Workbooks.Count>1 Then

End if

JB

On 7 avr, 13:47, "DC"
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire pour
le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC







jps
Le #4396321
bonjour DC
peut-être que :

If Workbooks.Count = 1 Then
MsgBox "Il y a " & Workbooks.Count & " un seul classeur ouvert et c'est
la chienlit ; ramasse ta pelle et ton petit seau et va ouvrir le classeur,
tête de linotte"
Exit Sub
If Workbooks.Count > 1 Then
MsgBox "Il y a " & Workbooks.Count & " Classeurs ouverts"

attendons quand même la réaction de JB car je prends ce fil en marche et ma
tête est trop lourde ce matin pour que je joue au funambule

jps (qui prépare le peloton d'exécution)

"DC" 4619e178$0$25924$
Re Bonjour Messieurs,

Jamais content ce DC, à fusiller !.............

Après fonctionnement, je trouve un petit inconvénient, l'apparition de la
fenêtre se fait au mauvais moment,
C'est à dire qu'il faudrait qu'elle apparaisse quand il maque le 2ème
Classeur, et non pas quand tout est en place pour fonctionner,
Si la chose vous paraît logique, Merci d'y penser !

Cordialement ! Merci d'avance DC

"DC" 4618a0df$0$25939$
Bonjour, JB et R1 et bonnes Fêtes de
Pâques,

Merci de vos réponses rapides et positives !

Je pense avoir enfin compris et la preuve c'est que çà fonctionne à
merveille, exactement comme je l'espérais,

Un très grand MERCI à vous deux Messieurs, j'apprécie !

Cordialement ! DC

"JB"
Bonjour,

If Workbooks.Count>1 Then

End if

JB

On 7 avr, 13:47, "DC"
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe
son
noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire
pour le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC











R1
Le #4396291
DC wrote:

Re Bonjour Messieurs,

Jamais content ce DC, à fusiller !.............

Après fonctionnement, je trouve un petit inconvénient, l'apparition de la
fenêtre se fait au mauvais moment,
C'est à dire qu'il faudrait qu'elle apparaisse quand il maque le 2ème
Classeur, et non pas quand tout est en place pour fonctionner,
Si la chose vous paraît logique, Merci d'y penser !

Cordialement ! Merci d'avance DC

"DC" 4618a0df$0$25939$
Bonjour, JB et R1 et bonnes Fêtes de
Pâques,

Merci de vos réponses rapides et positives !

Je pense avoir enfin compris et la preuve c'est que çà fonctionne à
merveille, exactement comme je l'espérais,

Un très grand MERCI à vous deux Messieurs, j'apprécie !

Cordialement ! DC

"JB"
Bonjour,

If Workbooks.Count>1 Then

End if

JB

On 7 avr, 13:47, "DC"
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe
son noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire
pour le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC





C'est 'simple': il faut faire
If  Workbooks.Count>1 Then
' Toutes mes actions normales puisqu'il y a plusieurs classeurs ouverts
Else
Msgbox "Il n'y a qu'un classeur d'ouvert: Arrêt"
End if

A noter que dans cette démarche, les instructions normales seront exécutées
dès que 2 classeurs sont ouverts, que ce soit des classeurs vides (Ouverts
par Fichier/Nouveau) ou d'autres classeurs qui n'ont rien à voir avec la
macro fonction (Interdis-tu aux utilisateurs d'ouvrir d'autres fichiers
Excels que 'les tiens')?
Pour éviter cela, si le nom du second classeur à avoir est connu, il est
envisageable de le vérifier avant de continuer
R1



DC
Le #4396241
Bonjour, jps et RI et JB

Merci pour vos réponses positives et qui fonctionnent très bien,

J'ai la préférence pour la dernière de RI, qui me parâit être la plus simple
et je n'ai rajouté que le " Exib Sub" pour être parfaite dans son
fonctionnement, ( voir ci-dessous )

Un grand Merci à vous trois, au plaisir de vous revoir !

'--------------------------------------------------------
Sub Ligne_Seule()

On Error GoTo Sortie

If Workbooks.Count > 2 Then
MsgBox "Il n'y a qu'un classeur d'ouvert: ( Arrêt )"
Exit Sub
End If
Application.Run "'PERSO.xls'!Bis_Ligne_Seule"

Sortie:
End Sub
'----------------------------------------------

Cordialement ! DC

"R1"
DC wrote:

Re Bonjour Messieurs,

Jamais content ce DC, à fusiller !.............

Après fonctionnement, je trouve un petit inconvénient, l'apparition de la
fenêtre se fait au mauvais moment,
C'est à dire qu'il faudrait qu'elle apparaisse quand il maque le 2ème
Classeur, et non pas quand tout est en place pour fonctionner,
Si la chose vous paraît logique, Merci d'y penser !

Cordialement ! Merci d'avance DC

"DC" 4618a0df$0$25939$
Bonjour, JB et R1 et bonnes Fêtes de
Pâques,

Merci de vos réponses rapides et positives !

Je pense avoir enfin compris et la preuve c'est que çà fonctionne à
merveille, exactement comme je l'espérais,

Un très grand MERCI à vous deux Messieurs, j'apprécie !

Cordialement ! DC

"JB"
Bonjour,

If Workbooks.Count>1 Then

End if

JB

On 7 avr, 13:47, "DC"
Bonjour,

Est-il possible avec une petite procédure, d'éviter le démarrage d'une
macro, si le 2ème classeur n'est pas chargé à l'écran, ( peut importe
son noms ) du fait de sa variabilité ?
En fait la présence de 2 classeurs chargés à l'écran, est nécéssaire
pour le
bon fonctionnement de la macro!
Merci d'y penser ! Merci d'avance de votre aide !

Cordialement ! DC





C'est 'simple': il faut faire
If Workbooks.Count>1 Then
' Toutes mes actions normales puisqu'il y a plusieurs classeurs ouverts
Else
Msgbox "Il n'y a qu'un classeur d'ouvert: Arrêt"
End if

A noter que dans cette démarche, les instructions normales seront
exécutées
dès que 2 classeurs sont ouverts, que ce soit des classeurs vides (Ouverts
par Fichier/Nouveau) ou d'autres classeurs qui n'ont rien à voir avec la
macro fonction (Interdis-tu aux utilisateurs d'ouvrir d'autres fichiers
Excels que 'les tiens')?
Pour éviter cela, si le nom du second classeur à avoir est connu, il est
envisageable de le vérifier avant de continuer
R1






Publicité
Poster une réponse
Anonyme