Problème avec un sub dans une feuille (Excel)
Résolu
skk201
Messages postés
942
Date d'inscription
Statut
Membre
Dernière intervention
-
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voilà je rencontre un petit problème avec un méthode que j'aimerai placer dans chacune de mes feuilles. Il s'agit d'une méthode qui efface une partie du contenu de la feuille. Cette méthode sera appellée par un Userform.
Voici le code tout simple placé dans le code de la feuille :
Ce que je trouve étrange c'est que c'est la première ligne qui me renvoie un erreur "1004 depuis Excel dans un MSGBOX et non depuis Editeur VBA (pas la possibilité de "FIN" ou de "DEBOGUER".
Est-ce que l'erreur vient du fait que le sub est placé dans une feuille ? Est-ce que qqun aurait une solution pour que ça fonctionne ?
Merci à tous !
Voilà je rencontre un petit problème avec un méthode que j'aimerai placer dans chacune de mes feuilles. Il s'agit d'une méthode qui efface une partie du contenu de la feuille. Cette méthode sera appellée par un Userform.
Voici le code tout simple placé dans le code de la feuille :
Sub Clear() ActiveWorkbook.Sheets("Communes - Gemeinden").Unprotect MDP 'MDP est le mot de passe de la feuille Sheets("Communes - Gemeinden").Range("A2:C" & Sheets("Communes - Gemeinden").Cells(1, 4).Value).ClearContents ' Sheets("Communes - Gemeinden").Cells(1, 4).Value) représente la dernière ligne pleine End Sub
Ce que je trouve étrange c'est que c'est la première ligne qui me renvoie un erreur "1004 depuis Excel dans un MSGBOX et non depuis Editeur VBA (pas la possibilité de "FIN" ou de "DEBOGUER".
Est-ce que l'erreur vient du fait que le sub est placé dans une feuille ? Est-ce que qqun aurait une solution pour que ça fonctionne ?
Merci à tous !
A voir également:
- Problème avec un sub dans une feuille (Excel)
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Comment faire un livret avec des feuilles a4 - Guide
5 réponses
voilà pour effacer toutes les données d'une feuille:
ThisWorkbook.Sheets("Feuil1").Cells.Clear 'a adapter
Bonjour
A tout hasard, peux-tu modifier le nom de ta macro, il me parait très proche du nom d'une fonction
cordialement
A tout hasard, peux-tu modifier le nom de ta macro, il me parait très proche du nom d'une fonction
cordialement
bonjour,
oui c'est normale que ca beug car on ne peut pas mettre un sub dans une feuille.
ce qu'il faut mettre depends de l'action qui va declencher ta macro (par exemple quand tu modifie une cellule ou alors quand tu change la selection). tu peux voir les differentes possibilitées quand tu vas dans la feuille, en cliquant sur la barre en haut a gauche (par default il y a general) et tu selectionne worksheet puis tu clique sur la barre en haut a droite (par default c'est selectionchange) et la tu a toutes les possibilitées et quand tu clique sur une il va rajouté 2 nouvelles lignes et tu met ton code entre ces deux lignes
oui c'est normale que ca beug car on ne peut pas mettre un sub dans une feuille.
ce qu'il faut mettre depends de l'action qui va declencher ta macro (par exemple quand tu modifie une cellule ou alors quand tu change la selection). tu peux voir les differentes possibilitées quand tu vas dans la feuille, en cliquant sur la barre en haut a gauche (par default il y a general) et tu selectionne worksheet puis tu clique sur la barre en haut a droite (par default c'est selectionchange) et la tu a toutes les possibilitées et quand tu clique sur une il va rajouté 2 nouvelles lignes et tu met ton code entre ces deux lignes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Pour ce que tu veux faire, il ne faut pas ta macro dans la feuille.
Il suffit de mettre ceci dans le bouton de l'UserForm:
Pour ce que tu veux faire, il ne faut pas ta macro dans la feuille.
Il suffit de mettre ceci dans le bouton de l'UserForm:
Option Explicit Private Sub CommandButton1_Click() nettoyer_feuil1 nettoyer_feuil2 End Sub Private Sub nettoyer_feuil1() ActiveWorkbook.Sheets("Feuil1").Unprotect "MDP" 'MDP est le mot de passe de la feuille Sheets("Feuil1").Cells(1, 4).ClearContents ActiveWorkbook.Sheets("Feuil1").Protect "MDP" End Sub Private Sub nettoyer_feuil2() ActiveWorkbook.Sheets("Feuil2").Unprotect "MDP" 'MDP est le mot de passe de la feuille Sheets("Feuil2").Cells(1, 4).ClearContents ActiveWorkbook.Sheets("Feuil2").Protect "MDP" End Sub
Bonjour é toi Le Pivert :)
J'y ai pensé mais enfaite je ne sais pas combient il va y avoir de Feuilles.
Le principe de ce classeur c'est qu'il y a des feuilles "Mère" comme modèle, et des feuille "Filles" qui sont des copies du modelle.
Et enfaite j'aimerai effacer le contenu de certaines de ses feuilles filles car à ce pseudo code.
J'y ai pensé mais enfaite je ne sais pas combient il va y avoir de Feuilles.
Le principe de ce classeur c'est qu'il y a des feuilles "Mère" comme modèle, et des feuille "Filles" qui sont des copies du modelle.
Et enfaite j'aimerai effacer le contenu de certaines de ses feuilles filles car à ce pseudo code.
Sub Effacer(Feuille As Worksheets) Feuille.Clear End Sub
Je vien d'essayer mon code sur une autre feuille avec une page fixe et ça à marcher. J'ai pu l'appeler depuis l'userforme comme je voulais :
Donc je pense qu'enfaite le problème devait venir d'une variable qui ne devait pas être déclarée.
Merci à tous quand meme !