procédure VBA permettant d’agréger à la suite les 2zones de cellules correspondantes

  • Initiateur de la discussion Initiateur de la discussion kiwi78
  • Date de début Date de début

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 !

K

kiwi78

Guest
Bonjour,
je commence tout juste VBA mais j'avoue que je ne comprends pas grand chose. Je dois rendre un exo mais je n'arrive pas à écrire la procédure. Il s'agit d'agréger à la suite deux zones de cellules présentes sur deux feuilles différentes sur une troisième.
Est-ce que quelqu'un pourrait venir à mon secours?

Merci d'avance.
 
Dernière modification par un modérateur:
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Salut kiwi78 et le forum
Moins difficile d'appeler à l'aide que de réfléchir ?
Sans compter que ton prof peut être sur ce forum (et sur d'autres) 😀

On te demande de définir 2 plages => voir l'aide "Référence à des cellules à l'aide d'un objet Range"
de les copier l'une derrière l'autre dans une troisième.

Alors, bien que le baobab qui te serve de canne risque d'en souffrir, il faut travailler.
Une petite astuce :
- utiliser le code généré par macro>>nouvelle Macro (macro apprentissage) en faisant la manip demandée
- essayer de comprendre ce qu'il fait et l'adapter
- voir aussi dans l'aide "End, propriété"

Pense (je sais, tu n'en as probablement pas l'habitude) que si tu réussis ton exo, tu pourras vraisemblablement utiliser ce que tu as compris lors d'un futur examen.
A+
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Salut Hervé et le forum
Ce ton pédant peut-être et insultant => plutôt ironique : on demande de faire un exercice à la place d'un élève : peut-être que je n'ai pas compris (ce ne serait pas la première fois). mais effectivement je peux sembler pédant et insultant. Ne pas hésiter à retirer mon poste, ou à faire retirer mon poste par un modérateur => j'ai la faiblesse de croire qu'il peut donner une marche à suivre et des indications (si ce n'était que pour être ironique, je me serais abstenu de répondre).
A+
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Bonjour Kiwi78.

C'est toi qui vas travailler, mais on va essayer de te montrer la voie.

Tu dois savoir définir une zone en lui attribuant un nom :
-sélectionne la zone B5:E7, choisis le menu Insertion -> Nom -> Définir.
Là dans la fenêtre qui s'ouvre tu devrais entrer le nom "ZoneEUR" pour la feuille1 ou "ZoneUSD" pour la Feuille2.

Mais n'inscris rien, ferme la fenêtre "Définir un nom".

Tu vas faire ça en enregistrant le tout en code vba.

Choisis Outils -> macros -> Nouvelle macro
Donne un nom "reconnaissable" à ta macro, et procède comme ci-dessus. A la fin de la définition de la zone, arrête l'enregistrement (clic sur carré bleu).
Si le carré bleu n'apparaît pas, Outils->macro, etc.

Quand tu auras fini, fais Alt F11 pour ouvrir ton éditeur vba, et double clique sur le module qui doit apparaître sur la gauche. Tu y verras le code que tu as créé.

Après, fin de la partie 1, reviens nous voir.
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Bonsoir


13GIBE59:
Je ne vois ou l'on parle de plages de cellules nommées

Je comprends plutôt ceci

Code:
Dim zoneEUR As Range
Set zoneEUR = ????????????
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Salut Staple

Pour commencer, vous créerez deux objets ‘Range’ correspondant aux plages [B5 :E5] de chaque feuille, puis, à partir de là, définirez les zones ‘zoneEUR’ et ‘zoneUSD’ ...

J'ai compris l'exercice comme définissant une zone. Ou il y a quelque chose qui m'échappe ?
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Bonjour à tous et merci pour vos commentaires qui me sont d'une aide certaine même si la mise en oeuvre de la programmation VBA ne reste pas très intuitive pour moi.

Je tiens à dire tout d'abord qu'avant de chercher des info sur les forums j'ai lu tous les documents que j'ai pu trouver sur VBA pour débutants ainsi que le poly qui m'a été remis. Je ne pense donc pas que la référence au baobab soit justifiée même si la démarche n'était peut-être pas la plus appropriée.

Je tiens également à signifier qu'il est très facile de se moquer des personnes qui ne présente pas de talents particuliers pour la programmation mais j'estime, à tort ou à raison, qu'il est déjà de meilleur goût d'essayer de s'en sortir par soi même (après soit dit en passant deux cours de VBA) plutôt que de redonner l'exercice à faire directement à quelqu'un qui maîtrise parfaitement le sujet, chose qui n'est pas rare aujourd'hui, ou de se reposer entièrement sur son binôme. En effet, je pense que tous les étudiants disposent de personnes dans leur entourage qui manient VBA sans difficulté particulière.
Par ailleurs et pour être parfaitement honnête la programmation VBA ne semble pas poser de problèmes particuliers à mon binôme... j'aurais donc pu lui laisser faire l'exo seul comme probablement d'autres groupes. D'ailleurs j'espère ne pas lui avoir porté préjudice.

Veuillez donc pardonner ma stupidité... j'ai cru que sur ce types de forums les personnes expérimentées aidaient les débutants pas très doués à comprendre pour qu'ils puissent justement s'en sortir en exam! C'est d'ailleurs ce que certains ont essayé de faire et je les remercie.
 
Dernière modification par un modérateur:
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Bonjour


Ne oublier de mettre ceci dans ce fil
Option Humor Explicit

kiwi78
Viens sur ce forum avec au fond de la poche, de l'humour et de l'autoderision
tu verras tout sera alors plus facile.

Pour revenir à ton exercice, es-tu sur qu'il n'a pas une suite
(car je ne vois pas bien la finalité de ce qui t'es demandé)

As-tu réussi au moins à avancer ?

PS 😛ersonnellement, par curiosité (et si ton poly est libre de droits et diffusable), j'aimerai assez voir les infos qu'il contient.

Comme tu as diffusé le document Word, peux-tu stp, poster ce poly dans ce fil ?
(En espérant que tu disposes d'un scanner)
 
Dernière édition:
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Je ne sais pas si je peux diffuser le poly mais étant donné que mon prof fait visiblement partie des membres du forum il pourra me donner son autorisation ou non, voire même le diffuser lui même.

Je n'ose plus vraiment poser de questions dans la mesure où j'ai peur de passer vraiment pour une imbécile (si ce n'est pas déjà fait).

Pour répondre à la dernière question il n'y a effectivement pas de suite à l'exercice.

Est-ce que quelqu'un pourrait au moins me confirmer si j'ai bien compris l'enjeu de l'exercice? Je comprends l'énoncé dans le sens où il faut sur une 3 ème feuille obtenir quelque chose de la forme suivante:

Libellé Cours Volatilité Devise

Action 1 40,6 0,3 EUR
Action 5 89,7 0,4 EUR
Action 8 10,45 0,56 EUR
Action 2 87 0,45 USD
Action 3 13,75 0,55 USD
Action 7 34,9 0,42 USD
Action 10 8,85 0,6 USD

Merci d'avance pour vos réponses.
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Re


Tu peux poser toutes les questions que tu veux
(à condition que le titre de ta question ait un sens 😉 , je dis cela pas en rapport avec la charte du forum et non pas par rapport à toi)

Je vais relire ton énoncé.

Peut-être une deuxième lecture, me feras comprendre la finalité de la chose ...

PS: Quel est le pseudo te ton prof sur XLD ?
 
Dernière édition:
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Re

Voici comment je ferai ton exercice

Code:
Sub exo()
Dim zoneEUR As Range, zoneUSD As Range
Set zoneEUR = Feuil1.[B5].CurrentRegion
Set zoneUSD = Feuil2.[B5].CurrentRegion
Feuil3.[B3:E3].Value = Feuil1.[B3:E3].Value
zoneEUR.Copy Feuil3.[B5]
zoneUSD.Copy Feuil3.[B65536].End(xlUp)(2)
End Sub

J'ai omis les commentaires pour que tu cherches par toi-même comment fonctionne la macro
Pour cela, utilise l'aide en ligne de VBA
(ALT+F11 puis F1)
 
Re : procédure VBA permettant d’agréger à la suite les 2zones de cellules corresponda

Merci Staple1600. C'est vraiment sympas de m'avoir aidé à comprendre. Avec mon binôme nous avons finalement trouvé une solution. Enfin... c'est surtout grâce à lui mais je dois avouer que j'ai passé mon weekend à bosser sur VBA et je commence à saisir pas mal de choses, même s'il est certain que je ne serai jamais une pro en la matière et même si je dois reconnaître que ça m'a filé un sacré mal de crâne.
Je viendrai donc très probablement reposer quelques questions...

Par curiosité, Staple 1600, j'ai essayé ton code et il fonctionne mais il y a quelque chose que je ne comprends pas... est-ce que tu peux m'expliquer pourquoi tu as mis [B65536] à la fin?
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour