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

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... :confused:
Merci pour votre aide !
Bien cordialement
 

Pièces jointes

  • Fichierexemple.xlsx
    9.7 KB · Affichages: 64
  • Fichierexemple.xlsx
    9.7 KB · Affichages: 75
  • Fichierexemple.xlsx
    9.7 KB · Affichages: 72

Modeste

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

Bonsoir Chapu,

Un essai (parmi bien d'autres, certainement) en pièce jointe avec une petite macro.
Note qu'avec la fonction DECALER, une solution par formule aurait sans doute été possible ...

Dis-nous si c'est ok.
 

Pièces jointes

  • Fichierexemple(2).xlsm
    22.9 KB · Affichages: 85

Fred0o

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

Bonsoir Chapu, Modeste.

Puisque je l'ai fait, je l'envoie.

Un essai par macro.

A+
 

Pièces jointes

  • Fichierexemple.xlsm
    21.3 KB · Affichages: 69
  • Fichierexemple.xlsm
    21.3 KB · Affichages: 77
  • Fichierexemple.xlsm
    21.3 KB · Affichages: 68

Chapu

XLDnaute Nouveau
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 !
 

Modeste

XLDnaute Barbatruc
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 :confused:

Bonne nuit aux lève-tôt :)
 

Chapu

XLDnaute Nouveau
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 !
 

Modeste

XLDnaute Barbatruc
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!
 

Fred0o

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

Bonjour Modeste, Chapu,

En espérant avoir compris cette fois....

A+
 

Pièces jointes

  • Fichierexemple.xlsm
    19.6 KB · Affichages: 95
  • Fichierexemple.xlsm
    19.6 KB · Affichages: 95
  • Fichierexemple.xlsm
    19.6 KB · Affichages: 98

Chapu

XLDnaute Nouveau
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 !
 

Fred0o

XLDnaute Barbatruc
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+
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 092
Membres
103 116
dernier inscrit
kutobi87