copies en VBA d'une cellule

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

kaze

Guest
Bonjour le forum,

J'ai fait une recherche mais je n'ai pas trouvé ce que je cherche parmi les nombreux posts sur le sujet.

J'ai une cellule en B2 qui contient une formule et j'aimerais copier le chiffre de cette cellule, sans la formule, dans la cellule F2. Puis à chaque changement en B2, les copies s'empileraient vers le bas F3,F4,F5... Il y a donc une seule cellule à copier mais la destination de chaque copie est différente. La valeur en B2 étant différente à chaque fois les copies sont aussi différentes entre elles.
Exemple: soit les chiffres successifs 10,15,30,20 en B2. 4 copies seraient obtenus avec la macro: F2=10, F3=15, F4=30, F5=20
Si j'ai peut être trouvé le code pour la copie je ne sais comment écrire la destination empilée vers le bas.

Je vous remercie pour votre aide.
@+
 
Bonjour,

Bien sur qu'en fonction de la structure de la feuille, ce code peut le pas fonctionner (des cellules sont remplies en dessous de 'F...'), F1 n'est pas renseigné...

Mais bon, voici un essai à coller dans le code de la feuille...

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Target.Address = '$B$2' Then Exit Sub
Range('F65536').End(xlUp).Offset(1, 0) = Target.Value
End Sub

Salut,

vekmort
 
Bonjour Dull, Vekmort, le forum,

Merci pour vos réponses. Je n'ai pas eu le temps hier de faire les essais. Le principe est bien celui que je voulais obtenir, je vais essayer avec mes données réelles.
Merci et Bonne journée.
@+
 
Rebonjour,

La macro fonctionne parfaitement avec mes données réelles. Je pensais l'adapter facilement pour la plage B2😀2 soit 3 cellules à copier selon le même principe avec destination colonnes F2:H2. Dois je écrire 3 fois la macro ou y a t'il un autre moyen? J'ai quelques difficultés avec l'utilisation de .value sur une plage.
PS: La ligne 1 contient les titres des colonnes mais je peux les supprimer.
Merci encore pour votre aide.
 
Bonjour,

Pour faire la même chose avec trois colonnes :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Target.Address = '$B$2' _
And Not Target.Address = '$C$2' _
And Not Target.Address = '$D$2' Then
Exit Sub
Else: With Range('F65536').End(xlUp)
.Offset(1, 0) = Range('B2').Value
.Offset(1, 1) = Range('C2').Value
.Offset(1, 2) = Range('D2').Value
End With
End If
End Sub

Du moins, je crois...

vekmort
 
Bonjour Kaze, Vekmort, le Forum,

Comme je ne sais pas à qui s'adressait ton message je t'envoi quand même le fichier modifié selon tes souhaits

(du moins j'espère) :whistle:

PS: tu peut laisser tes titres de colonne ça gêne pas
[file name=Kaze2.zip size=10288]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Kaze2.zip[/file]
 

Pièces jointes

- 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

Réponses
3
Affichages
190
Réponses
4
Affichages
482
Réponses
23
Affichages
684
Retour