Macro copier coller valeurs avec cellule à valeur variable

Bonjour à toutes et à tous,

Je suis nouveau sur le forum et pas encore très compétent en VBA, je vous soumet donc ce problème :

J'ai réalisé le tableau ci-joint composé d'une feuille 1 où j'enregistre les données d'entreprises et en feuille 2 d'un tableau récapitulatif de certaines de ces données via un renvoi automatique en fonction du nom de l'entreprise enregistrée.

Mon problème est le suivant : j'aimerais pouvoir enregistrer une autre structure en effaçant les données de la structure précédemment enregistrée sans que le tableau récapitulatif répercute ce changement (les cellules étant liées). Pour cela il faudrait après l'enregistrement de la structure qu'une macro puisse en fonction du nom de la structure enregistrée effectuer un copier - coller valeurs sur les cellules dépendantes dans le tableau récapitulatif.

Merci d'avance.

1'587exemple-gils-1.zip (8.15 Ko)

Bonjour,

on peut bien sûr faire une macro.

mais à ta place, j'introduirais directement mes données (toutes) dans ma feuille récap. je ne vois pas la valeur ajoutée de passer par une feuille intermédiaire.

Après que les données sont introduites, tu pourras les manipuler avec des filtres, des TCDs, etc ...

Bonjour h2so4,

Bien sûr cet exemple très simplifié ça ne paraît pas très pertinent de faire une macro mais en fait dans la version originale de l'outil que j'ai conçu, la première feuille ne sert pas seulement d'intermédiaire mais renseigne sur de nombreux ratios, indicateurs, elle est centrale dans l'outil donc je ne peux pas la retirer. Le récap n'est qu'une partie de l'outil.

D'autre part si je cherche une macro c'est par souci d'accessibilité, il suffira aux personnes qui manipulent l'outil d'appuyer sur un bouton pour que les données saisies soient effacées et enregistrées dans le récap.

Bonjour,

voici une macro à adapter à tes besoins

Sub copiedonnées()
Set wst = Worksheets("Récap")
Set wss = Worksheets("Enregistrement")
' dernière ligne+1 de récap sera par défaut la ligne où l'on va sauver les données
dlt = wst.Range("A" & wst.Rows.Count).End(xlUp).Row + 1
' on recherche la société dans récap
Set re = wst.Range("A1:A" & dlt).Find(wss.Range("C2"), lookat:=xlWhole)
' si on la trouve
If Not re Is Nothing Then
 ans = MsgBox("il existe déjà des données pour cette société, on les remplace ?", vbYesNo)
 If ans = vbYes Then
  ' on veut remplacer on mémorise la ligne à modifier
   dlt = re.Row
 Else
 'on ne veut pas remplacer, c'est fini
   Exit Sub
 End If
End If
' à adapter 
' copie des données de enregistrement vers recap, dans la ligne dlt
wst.Range("A" & dlt) = wss.Range("C2") ' entreprise
wst.Range("B" & dlt) = wss.Range("B7") 'fonds propres
wst.Range("C" & dlt) = wss.Range("B12") 'dettes
wst.Range("D" & dlt) = wss.Range("B12") 'dettes
' fin à adapter
Set wst = Nothing
Set re = Nothing
Set wss = Nothing
End Sub

Merci beaucoup je regarde ça ce soir

La macro marche bien et j'ai réussi à l'adapter à mon outil complet, merci !

Par contre est il possible d'avoir plusieurs worksheets pour le wst ? Ça me permettrai d'avoir plusieurs onglets récap des entreprises en fonction des départements (les tableaux seraient identiques sur la forme).

Edit : je viens de me rendre compte que tu m'a donné la solution à la fin de la macro

Rechercher des sujets similaires à "macro copier coller valeurs valeur variable"