Aide macro VBA car débutant

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 !

mikael2235

XLDnaute Occasionnel
Bonjour à tous,

Encore quelques questions à propos des macros….

Pour ouvrir un classeur, j’ai trouvé ceci et ça marche : Workbooks.Open (« C:\classeurx.xls)

Maintenant je souhaiterais savoir comment sélectionnez un onglet dans un autre classeur que celui de la macro et qui a été ouvert précédemment (avec Workbooks.Open (« C:\classeurx.xls)), j’ai essayé Workbooks (« xxx.xls »).Select et Workbooks (« C:\xxx\classeur.xls »).Select mais ça ne marche pas.

Pouvez vous m’aider ?


Ensuite mon deuxième problème concerne la copie d’un onglet dans un autre classeur, je vous explique.

J’ai dans mon classeur1 un seul onglet nommé Feuil1. Via ma macro, je recopie les informations de mon onglet Feuil1 dans un onglet Feuil2 du classeur 2 qui est en fait un tableau récapitulatif, puis je fais une copie à l’identique de mon onglet Feuil1 dans un nouveau fichier que je sauvegarde à un autre emplacement.

Mon problème est le suivant, je voudrais que la protection s’enlève au moment de la recopie dans un nouveau classeur, ce qui n’est pas le cas puisque Feuil1 de classeur1 est protégé à la base.

Dernière question, je souhaiterais savoir si il est possible de griser le menu Imprimer et par conséquent aussi le Ctrl+P, et ne pouvoir imprimer que par la macro.


Merci d’avance pour vos réponses. J’éspere avoir été clair malgré mon très faible niveau en VBA.

Mikael
 
Re : Aide macro VBA car débutant

Bonjour Mikael

pour ta 1ère question, essaye avec la méthode activate :

Code:
Workbooks("nomclasseur.xls").Sheets("nomfeuille").Activate

A noter qu'en vba il est rarement utilse de selectionner ou d'activer les classeurs / feuilles...

bonne journée
@+
 
Re : Aide macro VBA car débutant

Re

pour ta dernière question, plutôt que de modifier les barres d'outils et menus, démarche plutôt risquée, j'utiliserais une variable booléenne en controlant l'événement "beforeprint" du classeur :

code ci-dessous à placer dans le module "thisworkbook".
Code:
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If b = False Then Cancel = True
End Sub

code ci-dessous à placer dans un module standard.
Code:
Option Explicit
Public b As Boolean
Sub tamacroimpression()
b = True
'ton code envoyant la méthode "PrintOut"
b = False
End Sub

@+
 
Re : Aide macro VBA car débutant

Re

pour ta dernière question, plutôt que de modifier les barres d'outils et menus, démarche plutôt risquée, j'utiliserais une variable booléenne en controlant l'événement "beforeprint" du classeur :

code ci-dessous à placer dans le module "thisworkbook".
Code:
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If b = False Then Cancel = True
End Sub

code ci-dessous à placer dans un module standard.
Code:
Option Explicit
Public b As Boolean
Sub tamacroimpression()
b = True
'ton code envoyant la méthode "PrintOut"
b = False
End Sub

@+

Merci Pierrot pour toutes ces solutions !!!

Les 2 premières sont exactement ce que je cherchais à faire.

Par contre la dernière ne marche pas completement :

Mon code macro ressemble à celui ci

'Copie n° demande ------
Workbooks("M31-000 Demande essai VIERGE.xls").Sheets("DEMANDE").Activate
x = [I6]
Range("I6").Select
Selection.Copy
'Recopie n° demande -----------
Workbooks("M31-000 Recap demandes.xls").Sheets("RECAP").Activate
Range("A" & x + 4).Select
ActiveSheet.Paste
Range("B2").Select
'Retour en feuille 1 -----
Workbooks("M31-000 Demande essai VIERGE.xls").Sheets("DEMANDE").Activate
ActiveSheet.Paste
Application.CutCopyMode = False


et donc x=[I6] me renvoie l'erreur : variable non définie.

Comment dois-je faire ? Autrement le fonctionnement est bon car quand on clique sur imprimer, ça ne fait rien.



J'ai un bouton nommé "Bouton 3" (celui qui me sert à executer ma macro) qui se recopie aussi, quelle commande puis-je mettre pour le supprimer sur ma copie ?

Merci encore...

Mikael
 
- 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
872
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
862
Réponses
9
Affichages
592
Réponses
3
Affichages
541
Réponses
23
Affichages
1 K
Retour