Copie d'une variable dans un tableau

Bonjour

Tout jeune novice en VBA, je cherche a creer dans le cadre professionnel une macro qui copie une valeur d'une cellule dans un tableau a chaque fois que j'appuie sur un bouton.

Je pense qu'il s'agit d'une boucle for qui sera redeclenchee a chaque appui sur le bouton mais je ne sais pas comment le traduire en VBA. Le but est que chaque appui du bouton copie ma valeur dans une nouvelle ligne de mon tableau, cette valeur etant une adresse mail de client.

Pourriez-vous m'aider SVP ?

Merci d'avance

PS : pour des raisons professionnelles, je ne peux diffuser le fichier Excel sur lequel je travaille

Bonjour,

Tu devrais commencer pas ici :

https://www.excel-pratique.com/fr/vba.php

J'ai bien sur commence par la avant de me lancer dans de nombreuses recherches.

J'ai meme les notions de base en algorithmie. Je n'arrive juste pas a concevoir comment arreter ma boucle for et la reprendre en appuyant sur le bouton en ayant modifie des informations entre temps.

pas besoin de boucle, il suffit d'utiliser l'évènement click du bouton.

Est-ce aue tu peux me dire comment faire cela stp ? Quelle est la ligne de code a mettre/la manip' a realiser ?

Bonjour,

Pas avec le peu de détails que tu donnes sur la structure du fichier, l'emplacement des données, ....

Et, selon le cas, il est probable que le bouton soit inutile ....

Voici en gros une reproduction simplifiee de mon fichier (s'agissant de grilles tarifaires, je ne peux diffuser l'original).

J'ai la macro pour envoyer un mail, aucun probleme de ce cote-ci (recuperee sur un forum).

A present, je voudrais qu'a chaque appui sur mon bouton, en plus de l'envoi du mail au client, son nom inscrit en D4 de la feuille 1 se rajoute a la suite du tableau sur la deuxieme feuille (tous dans la meme colonne). Ne restera plus qu'a exporter le tableau des clients quand je le veux pour que le tableau recommence a se remplir depuis le debut.

En gros le bouton est mon element central pour declencher ce que je veux faire :

--> Envoi du mail au client (mais ca c'est bon)

--> Remplissage de mon tableau avec le nom du nouveau client

Les cellules en D3-D4 sont donc ammenees a changer manuellement avant de declencher le bouton pour ma procedure.

J'espere que j'ai ete assez clair

Re,

Par exemple :

Option Explicit
Sub Ajouter_Le_Nom_A_La_Liste()
Dim cel_src As Range
Dim cel_dst As Range
  'Définir la cellule source (en D4)
  Set cel_src = Worksheets("Feuil1").Range("D4")
  'Definir la cellule destination (en A2 si vierge, A1=titre de colonne)
  With Worksheets("Feuil2")
    Set cel_dst = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
  End With
  'Ajouter le nom à la liste
  cel_dst.Value = cel_src.Value
End Sub

Super ca marche merci beaucoup !

Une petite question : si je veux copier plusieurs infos de la Feuille 1 dans des colonnes differentes de la feuille 2, est-ce au'il suffit de reprendre les deux lignes de code 'orgine-destination' en changeant les cellules ?

Cordialement

Re,

Oui, mais ....

Voici un code générique :

Option Explicit
Sub Ajouter_Les_Infos_A_La_Liste()
Dim rng_src As Range
Dim rng_dst As Range
  'Définir la plage source (de D4 à H4)
  Set rng_src = Worksheets("Feuil1").Range("D4:H4")
  'Définir la cellule destination (en A2 si vierge, A1=titre de colonne)
  With Worksheets("Feuil2")
    Set rng_dst = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
  End With
  'Redimensionner la plage de destination d'après la source
  With rng_src
    Set rng_dst = rng_dst.Resize(.Rows.Count, .Columns.Count)
  End With
  'Ajouter les infos à la liste
  rng_dst.Value = rng_src.Value
End Sub

Merci beaucoup pour la reponse rapide et efficace

Rechercher des sujets similaires à "copie variable tableau"