[Catégorie modifiée VB6 -> VBA] action d'une macro sur plusieurs feuilles d'un m

Résolu
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015 - 29 juin 2012 à 00:16
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015 - 30 juin 2012 à 22:29
Bonjour,

Je n'y connait pas grand chose, mais je voudrais créer dans excel une macro qui agisse sur plusieurs feuilles.

Je m'explique, dans mon classeur excel, j'ai plusieurs feuilles avec des données chiffrées.
J'ai une feuille synthèse qui centralise et synthètise le cumul des chiffres de toutes les feuilles.

Maintenant, je voudrais mettre sur cette feuille synthèse, une macro qui me permet d'éffacer certaines cellules des autres feuilles, pour tout remettre a zero.

Je sais que c'est possible, mais je ne sais pas comment faire pour créer cette macro.


Pouvez vous m'aider ? Merci par avance

11 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 juin 2012 à 01:49
Salut

VBA n'est pas du VB6, mais du VBA version 6 (catégorie)

Solution simple : Enregistre une macro pendant que tu fais les RaZ manuellement : tu auras l'ébauche.

Sinon, ouvre l'aide et regarde les méthodes autour des objets WorkSheets, exemple :
WorkSheets(1).Range("A1").Value = "Coucou"
WorkSheets(2).Range("B3").Value = "Codes sources"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 10:04
Car une chose est pour moi très claire :
Si tu avais ouvert ton aide VBA et lu la rubrique en cause (et l'exemple dont elle est assortie et qui correspond par hasard à ce que tu veux) au lieu de revenir ici avec un :
La fonction range ("a1").clearcontents je connais

tu n'en serais pas là !
Qu'attendrais-tu ? que je copie/colle ici tout le texte (et l'exemple) que tu as sur ta machine, dans ton aide VBA ?
Tu plaisantes ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2012 à 19:53
Je veux bien avoir le pompon de "l'arrogance", ami.
Tu as sans aucune hésitation celui de ... devine donc ... !
Pour info, voici ce que tu trouvais dans ton aide VBA, là où je te l'indiquais :
Range.ClearContents, méthode
Cette méthode efface les formules de la plage.
Syntaxe
expression.ClearContents
expression Variable qui représente un objet Range.
Valeur renvoyée
Variante
Exemple
Cet exemple montre comment effacer les formules des cellules A1 à G37 de la feuille Sheet1, en laissant la mise en forme intacte.

Worksheets("Sheet1").Range("A1:G37").ClearContents


en réponse à :
Maintenant, je voudrais mettre sur cette feuille synthèse, une macro qui me permet d'éffacer certaines cellules des autres feuilles, pour tout remettre a zero.

Alors ? Qui ferait mieux de s'exprimer en maternelle ?
Et pourquoi donc as-tu cliqué, dans ce cas, sur le tag "réponse acceptée" ?
Bref ...(encore une vedette ! une de plus ! )
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2012 à 21:33
J'ai cherché à t'apprendre à interroger ce qu'il te faut apprendre à interroger en premier. Ton aide VBA.
C'est ce que j'ai fait personnellement, depuis le tout début (et surtout au tout début). Je ne pense pas être plus dégourdi ni plus intelligent que la moyenne. Ne ne pense pas que tu es moins dégourdi ou moins intelligent que la moyenne. Dans tous les cas de figure : être dégourdi ou être intelligent ne sauraient en aucun cas être des sujets d'enseignement.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 08:05
Bonjour,
Voir également l'utilisation de la méthode ClearContents appliquée à un Range
(ne jamais craindre d'utiliser son aide VBA. Cela fait gagner un temps fou )


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 08:15
Ne me dis pas qu'il faut encore savoir le nom de cette méthode, pour la trouver dans l'aide VBA et que c'est un peu comme devoir appeler Pierre au téléphone pour lui demander son numéro de téléphone.
Je viens de faire, pour en avoir le coeur net, l'expérience suivante :
- J'ai frappé "effacer" dans mon aide VBA ===>> deux pages pour ce mot ===>> j'ai parcouru les rubriques ===>> j'en ai vu une intitulée "Range.ClearContents, méthode" ===>> rien que ce nom est plus que "parlant" ===>> je l'ai ouverte ===>> je l'ai lue ===>> et tu sais quoi ? ===>>> incroyable : il y a un exemple qui répond directement à ta question : comment effacer un range d'une autre feuille ! Pile poil ton besoin ... tout cuit ...!!!!

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
29 juin 2012 à 09:41
Bonjour,
Merci pour vos réponses, elles m'ont aider.
La fonction range ("a1").clearcontents je connais, mais cela agit sur la feuille active.
Moi je voudrais que ca agisse également sur les autres feuilles.

Comment dans la macro faire pour lui demandé d'agir sur les cellules (par exemple: "a2:c6") de la feuille 1, lui demandée la meme action sur la feuille 2, quelle fonction utilisée ?

J'utilise excel 2007
Merci par avance.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 09:56
Je te trouve : soit "gonflé", soit "mal réveillé", ce matin .
Tu sais donc maintenant effacer une plage sur une feuille (tu as lu l'exemple dans l'aide vBA et l'exemple en cause ne traite pas une "feuille active" mais bel et bien une feuille spécifiquement désignée )
Tu fais cela pour chacune des feuilles que tu veux ainsi traiter ... Où est donc ton problème ? Dis-moi !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
30 juin 2012 à 19:23
Bonjour,

Je remercie notre ami "ucfoutu" pour ses lumières qui sont d'une arogance prétentieuse et qui n'ont aucune pertinence.

Excusez moi de n'être qu'un novice dans le domaine, j'ai quelques notions, mais pas votre niveau d'expertise; si je l'avais je ne viendrais demander de l'aide.

Je pensais qu'on était entre adulte civilisé, et non avec des gamins dans une cours de récréation, visiblement j'ai du me tromper.

Dans la réponse de notre ami, on dirait un adolescent en pleine crise de puberté ....
Fanfaronne, et de met a aboyer comme un pitbull à qui on a enleler la muselière, simplement parcequ'il a 3 gr de connaissance (et j'en suis pas sur, bref ....)

Desoler de n'être qu'un débutant et de ne pas avoir votre niveau d'expertise.

Alors soyez un peu humble, et faite preuve d'humilité (et la y a du boulot), alors maintenant moderer vos propos et vos paroles, sans quoi vous n'avez pas votre place sur un forum de partage.

Modérer vos propos et vos paroles, peut être deviendrez vous crédible.

Maintenant l'affaire est close
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
30 juin 2012 à 21:24
Merci, tu remonte dans mon estime.
Effectivement, je suis une vedette qui sais reconnaitre quand elle ne sait pas, et la je demande a ce qui save en esperant qu'il soit ouvert d'esprit.

Inverse les roles, si un jour tu te retrouve dans la situation ou tu ne sais pas, tu demandera a des gens qui connaissent en esperant qu'ils soient ouvert d'esprit, t'explique et t'aide. et qui ne t'envoie pas chier.

J'ai cliquer sur le tag parce que malgrés ton arrogance et ta virulence (que tu reconnais), j'ai vu que tu avait cerner ma demande. je suis revenu car je n'arrivais pas a le faire "fonctionner".

Tu dois avoir un meilleur matériel (soft et hardware) que moi.
Je demande juste que l'on m'aiguille, après je me débrouille tout seul. J'ai d'autre projets de création, mais je ne te dérangerais pas, je me débrouillerais seul.

Je suis encore désolé de ne pas avoir ton niveau d'expertise, excuse moi de ne pas savoir.

Ceci est le dernier message que je t'enverrai, après je me débrouillerai seul.
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
30 juin 2012 à 22:29
Bon, excuse moi, je reviens, mais c'est parce que c'est toi.

J'avais bel et bien déja regarder l'aide VBA, puisque je t'avais dit que la fonction clearcontents je connaissais, mais je n'arrivais pas a savoir l'étendu de son champs d'application.

Dans l'aide VBA, il y a beaucoups de termes, des fonctions qui pour l'instant ne me parle pas.

Avant de venir sur le forum, j'avais déja tout essayer. je suis venu car je me suis dit je dois mal m'y prendre, aguiller moi, après je me débrouille comme je l'ai toujours fait pour tout dans ma vie (dans le perso et le professionnelle). c'est en cherchant a apprendre que l'on progresse, mais des fois il faut être aiguiller sur le bon chemin, je cherchais l'aiguillage, tu m'as aider a cerner l'entendu du champs d'application de la fonction clearcontents.

Même si nous avons échanger virulament au debut, merci encore de ton aide, on est du même moule, on cherche a appprendre, et on cherche seul.

Mais je comprend également ta démarche, puisqu'il doit y avoir beaucoups d'internaut qui te demande de faire à leur place, qui sont assister.

merci encore, peut être ce retrouveront nous sur un autre sujet VBA, mais entre le perso, le familial et le professionnelle, je n'ai pas beaucoups de temps pour me consacré pleinement au VBA, alors je le fait quand j'ai du temps. Merci, malgrés nos échange musclé du début, je ne m'étais pas trompé, tu en vaut la peine.

Merci
Bon ce coups ci c'est mon dernier message.
0
Rejoignez-nous