VBA, boucle de copier-coller pas si simple...

  • Initiateur de la discussion Initiateur de la discussion Chapu
  • 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 !

Chapu

XLDnaute Nouveau
Bonjour à tous,

Mon problème est le suivant (voir le fichier joint) :

J'ai une liste d'entrée "ingrédients" (C8:C21) pour la cellule B2. A chaque fois que la valeur de B2 change les valeurs en face de 11 12 et 1 changent (pour les mois...).

Ce que je souhaiterai obtenir à l'aide de Visual Basic (il me semble que je ne peux pas faire sans) est une table indicant chaque ingrédient, chaque mois et les valeurs correspondantes.

En fait c'est simplement une boucle qui va prendre une à une les valeurs d'ingrédients puis faire un copier-coller seulement des valeurs dans une nouvelle feuille les unes à la suite des autres. Je donne en feuille 2 une idée du résultat final.

Voilà j'ai simplifié un maximum mon problème, je l'adapterai à mon cas car derrière la simple formule index-match que j'ai mise pour l'exemple avec des nombres au hasard se cache quelque chose de beaucoup plus compliqué que je ne souhaite pas utilisé.

C'est pourquoi s'il vous plait **je demande quelque chose de simple qui utilise seulement LES VALEURS des cellules F2:F4**.

J'espère avoir été assez clair... 😕
Merci pour votre aide !
Bien cordialement
 

Pièces jointes

Re : VBA, boucle de copier-coller pas si simple...

@Modeste
Merci pour ta réponse ! Malheureusement ça ne correspond pas à ce que je voudrais obtenir...
En fait il s'agit de ne pas utiliser les valeurs de D8:F21 (qui sont ici seulement afin d'avoir quelque chose en F2:F4). Seulement celles de F2:F4, et sans la formule, juste en copiant les seules valeurs pour chaque valeur de la liste "ingrédients" collée en B2.

Par ailleurs pourrais-tu rajouter les mois de E2:E4 correspondant aux valeurs, dans le tableau final ?

Est-ce clair ?
Merci pour ton aide !

@Fredo
Merci aussi pour ta réponse, je regarde ça !
 
Re : VBA, boucle de copier-coller pas si simple...

Re-bonsoir,

Si les 11, 12 et 1 sont des mois, Fred0o l'a fait (et il a donc eu mille fois raison de déposer son fichier) ... pour le reste de ta demande, j'ai peur de ne pas comprendre 😕

Bonne nuit aux lève-tôt 🙂
 
Re : VBA, boucle de copier-coller pas si simple...

Alors je pensais que c'était ça mais en bougeant les cellules D7:F21 ça ne marchait plus... En fait je veux seulement utiliser les cellules F2:F4 (qui je le concéde utilisent celles du tableau mais ça ne m'intéresse pas de les utiliser directement).

L'algorithme serait le suivant :

for i from 1 to nombredecellules(ingrédients)
copier cellule i de ingrédient en B2 de table calcul (ce qui va à chaque fois changer les valeurs prises par F2:F4)
puis copier sur la "feuille 2" le nom de l'ingrédient (trois fois (1 pour chaque mois en E2:E4) et dans les cellules adjacentes copier-coller seulement les cellules des mois E2:E4 ainsi que des valeurs provenant seulement de F2:F4.
passer à l'ingrédient suivant

Est-ce plus clair ? En gros le résultat obtenus avec vos programmes est le bon, seulement il faut que la macro ne fasse pas référence aux cellules D7:G21 (qui sont là seulement afin de fournir des valeurs à F2:F4).

Merci !
 
Re : VBA, boucle de copier-coller pas si simple...

Bonjour,

Ce qui n'est pas très clair, Chapu (enfin ce doit l'être dans ta tête à toi, mais pas pour ceux qui abordent ton fichier pour la première fois), c'est la différence que tu fais entre les données de F2:F4 et celles de D8:F21 ... puisque ces dernières alimentent les autres.
Vu de notre position à nous, ça revient au même et ne peut que nous laisser perplexes!
 
Re : VBA, boucle de copier-coller pas si simple...

Bonjour Fred0o, Modeste,

Merci énormément, c'est exactement ce que je souhaitais 🙂 !!! Même si je ne comprends pas le Range("A1:A3") dans la dernière ligne de la boucle. Cela fait référence aux trois cellules de gauche de ce que l'on vient de copier à chaque fois ?

Merci encore pour votre aide !
 
Re : VBA, boucle de copier-coller pas si simple...

Bonsoir à tous.

Par rapport à la cellule dans laquelle se situe le curseur; on fait un décalage de 1 cellule vers la gauche avec le ".offset(0, -1) puis on sélectionne la cellule active et les 2 du dessous avec "Range("A1;A3")".

A+
 
- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
795
Réponses
10
Affichages
703
Retour