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 !

astralon

XLDnaute Occasionnel
Bonjour,

Voici mon problème de base

J'ai un petit problème avec un fichier Excel

Il se compose de 3 feuilles (normal)

je suis dans la feuille1, je fais une macro qui dis d'aller dans la feuille3, selectionner une zone, copier la zone en mémoire, ensuite, aller dans la feuille2 et coller la sectection.

Si je fais cela avec une macro, tout fonctionne bien, par contre si je mets les commande de ma macro dans un bouton, il change de feuille et puis plus rien, il me dis qu'il y a une erreur===> 🙁

Code:
    Range("d5:o36").Select
    Selection.ClearContents
    Sheets("Base").Select
    Range("E5:O36").Select
    Selection.Copy
    Sheets("Impositions").Select
    ActiveSheet.Paste

Auriez-vous une solution ?

Merci à vous
 
Re : problème de bouton

bonjour,
1ere hypothese/ tu parles de 3 feuilles mais dans ta macro elles sont nommées "base" et "impositions" donc si tu essaies dans un autre classeur sans les noms de feuilles ca plante.
Est ce que ca peux t 'aider ??
2eme hypothese/ as tu bien affecté la macro au bouton ??
et sinon met un bout de fichier !!
Amities
Rémi
 
Re : problème de bouton

Salut

Met cette macro dans une feuille ou tu as mis le bouton

Private Sub CommandButton1_Click()
Sheets("base").Select
Sheets("base").Range("d5😱36").Select
Selection.Cut
Sheets("impositions").Select
Sheets("impositions").Range("d5😱36").Select
ActiveSheet.Paste
End Sub

J'ai testé , ça marche . Ton Pb était que lorsque tu te trouves dans une feuille et que le travail se fait ailleurs ( base et impositions dans ce cas) il faut tjs préciser le nom de la feuille avant "RANGE"

Hervé
 
Re : problème de bouton

Bonjour le fil, bonjour le forum,

Oui Hervé et je me permets même d'en rajouter parce que ce problème m'est arrivé souvent et je ne comprenais pas pourquoi ça ne marchais pas. Même si je sélectionnais l'onglet avant de sélectionner une plage de cet onglet.

Un CommandButton de la barre d'outil Boîte à outils Contrôles est associé à l'onglet dans lequel il est placé. D'ailleurs son code VBA se trouve dans le composant Worksheet. Quand on veut le faire agir sur un autre onglet, et cela même sil on sélectionne cet autre onglet dans le code, il faut toujours spécifier le nom de l'onglet avant la plage sinon ça plante.

Sheets("MAFEUILLE").Select
Sheets("MAFEUILLE").Range("A1:V10").Select

La macro elle, est liée à un module isolé. À partir du moment où un onglet est sélectionné, la sélection d'une plage fais, par défaut, partie de cet onglet.

Sheets("MAFEUILLE").Select
Range("A1:V10").Select

Dans un Bouquin de VBA on citait comme exemple: Tu es dans la cuisine et tu dis à quelqu'un "prend une serviette dans le placard". C'est évident que c'est le placard de la cuisine. Si tu veux lui donner un serviette du placard de la salle de bain il te faudra spécifier "prend une serviette dans le placard de la salle de bains" sinon tu va te faire traiter de triple buse par la personne qui qui veut prendre sa douche (ça se traduit en VBA par un planton car VBA est poli...)

Bon j'arrête je me relis et je me saoule tout seul...
 
- 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
10
Affichages
791
Réponses
17
Affichages
1 K
Réponses
1
Affichages
575
Réponses
5
Affichages
719
Retour