Copie de cellules auto en fonction de la taille d'une liste

Bilja

XLDnaute Nouveau
Bonsoir,

J'aurais besoin d'un code VBA qui simule la copie de cellules excel comme si l'utilisateur Par exemple, j'ai une liste de valeurs dans colonne A1:A12, et une autre valeur dans la cellule B1.
L'objectif est de copier la cellule B1 jusqu'à la fin de la liste de la colonne A, donc jusque la cellule B12. Bien entendu, pour faire simple, la taille de la liste contenue dans A est variable. Donc si la dernière cellule de la colonne A était A35, alors la copie de B1 devra se faire juque B35.
Un petit fichier pour aider.
Merci
Bilja
 

Pièces jointes

  • Pb_copie_cellule_automatique.xls
    13.5 KB · Affichages: 58

James007

XLDnaute Barbatruc
Re : Copie de cellules auto en fonction de la taille d'une liste

Bonjour,

Tu peux utiliser et adapter ce code ...

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address <> "$D$3" Then Exit Sub
Dim i%
i = Cells(Application.Rows.Count, "C").End(xlUp).Row
Range(Target.Offset(1, 0), Target.Offset(i - 3, 0)) = Target
End Sub

A +
:)
 

Bilja

XLDnaute Nouveau
Re : Copie de cellules auto en fonction de la taille d'une liste

Bonjour M BOND,
Tout d'abord merci d'avoir répondu aussi vite.
J'avoue mon ignorance sur VBA. En réalité je ne connais que les macros commençant par Sub () et End sub, donc une marco qui commence par Private Sub, je panique !
J'ai essayé de copier le code que tu m'as envoyé dans une macro classique, forcément, ça ne fonctionne pas. Conclusion, je voudrais bien executer ton petit code avec un bouton ou une macro personnelle, mais je sais pas faire.
A l'aide!
Merci
 

Bilja

XLDnaute Nouveau
Re : Copie de cellules auto en fonction de la taille d'une liste

Bonsoir, finalement ma problématique est devenue plus complexe. En réalité, il faudrait copier les cellules en fonction d'une condition liée à d'autres cellules.
Je m'explique :

Liste A1:A6
A1 : Espagne
A2 : Italie
A3 : Espagne
A4 : Allemagne
A5 : (vide)
A6 : Italie

Il faudrait obtenir dans la colonne B1:B6, les valeurs correspondantes suivantes :
Si la valeur contenue dans cellule adjacente de la colonne A est égale à :
Espagne, alors renvoyer en B la valeur : ES
Italie, alors renvoyer IT
(vide), ne rien renvoyer, laisser la cellule vide
Allemagne, alors renvoyer DE

Attention, je souhaiterai une macro VBA de préférence à activer par un bouton dans le fichier qui automatise cette correspondance, du type une macro qui simule la fonction : =si(A1=3Espagne";"ES";si(A1="Italie";"IT";si(.....

Merci d'avance,
Bilja
 

James007

XLDnaute Barbatruc
Re : Copie de cellules auto en fonction de la taille d'une liste

Bonjour,

Je suis vraiment très surpris ... :confused:
Car non seulement ta seconde requête n'a strictement rien à voir avec la première ... mais, en plus, et contrairement à ce que tu dis, bien loin de se compliquer ... ta seconde demande s'est énormément simplifiée ... :confused: :confused: :confused:

Donc VBA ... totalement inutile ... !!!

Ci joint un tableau des codes ISO ...

A +
:)
 

Pièces jointes

  • TestBilja.xls
    20.5 KB · Affichages: 51
  • TestBilja.xls
    20.5 KB · Affichages: 63
  • TestBilja.xls
    20.5 KB · Affichages: 53

Bilja

XLDnaute Nouveau
Re : Copie de cellules auto en fonction de la taille d'une liste

Bonjour,
Mes excuses si j'ai créé de la confusion. C'est certainement que j'ai manqué de clarté. En réalité, je souhaiterais une macro car la petite fonctionnalité demandée va s'insérer dans une macro plus large qui s'applique sur un fichier dont le format est fixe mais le contenu est variable. Donc je souhaite éviter de faire des actions manuelles et taper des formules dans des cellules. L'idée est que chaque fois que je reçois ce fichier d'autres utilisateurs, j'actionne cette macro.
En gros, j'ai un fichier d'origine qui me vient de pleins d'autres utilisateurs et qui a un certain format fixe donc (nombre de colonnes, valeurs contenues dans ces colonnes...) mais le contenu des colonnes est différent à chaque fois que je reçois ce fichier. L'objectif est de changer, entre autres, le format de ce fichier en lui ajoutant notamment une colonne qui contient des valeurs qui sont conditionnées par les valeurs contenues dans une autre colonne. Voilà pourquoi j'aurais besoin d'un petit bout de programme qui exécute tout ça et que j'insérerai dans ma macro globale b(contenue dans mon classeur de macros personnelles).
Désolée encore une fois,
Merci
 

James007

XLDnaute Barbatruc
Re : Copie de cellules auto en fonction de la taille d'une liste

Re,

Tu m'accorderas ... que sans tes explications, personne ne peut deviner les circonstances dans lesquelles tu te trouves ... ... ... ... :confused:

Du coup, si tu as encore besoin d'insérer du code VBA, dans ta macro, n'hésites pas à poster ta macro de base ...

A +
:)
 

Bilja

XLDnaute Nouveau
Re : Copie de cellules auto en fonction de la taille d'une liste

Bonjour,
Ci joint un fichier avec mon exemple et 3 boutons macros.
C'est une petite adaptation vulgarisée de mon cas réel qui est un peu lourd à expliquer.
Merci pour votre aide,
 

Pièces jointes

  • Pb_copie_cellules_conditions.xls
    43.5 KB · Affichages: 61

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 137
Membres
104 045
dernier inscrit
Megajoules