XL 2016 VBA - Faire l'inverse d'Index

Danyspeed

XLDnaute Nouveau
Bonjour,
J'ai un premier tableau (onglet "AVENANT") dans lequel en ligne je retrouve la liste de corps d'états du bâtiment; en colonnes, j'ai 1,2,3... correspondant au n° des avenants au contrats (à chaque n° correspond un montant de devis différents).
Ce tableau me sert de récap et d'historique.
Dans un second onglet je fais la mise en page de ces avenants (onglet "AVT MEP"), j'indique le n° du corps d'état et le n° de l'avenant (choix par le biais de liste)
Manuellement j'indique le montant de l'avenant et divers détail. Et sous cet avenant. Je rappelle l'historique des avenants précédents par le biais de fonction index.

Je souhaiterais par le biais d'un bouton clic, pouvoir lancer une macro qui va me copier coller la valeur de cet avenant dans le tableau récapitulatif de l'onglet "AVENANT" aux bonnes coordonnées.
Je ne parviens pas à trouver une méthode, ou à adapter un code (comme je fais habituellement).
Pouvez vous m'aider à rédiger le code pour cela?

Merci d'avance

PJ: le fichier en question simplifié
 

Pièces jointes

  • HES_TEST.xls
    107.5 KB · Affichages: 8

Danyspeed

XLDnaute Nouveau
J'ai commencé à trouvé une partie de réponse, une piste...
Dans le tableau "Avenants", j'ai appliqué des formules somme.si.ens en désignant, le montant du devis établi et une recherche sur des plage de critères qui sont les simples cellules de coordonnées du tabeau. (voir ci-joint).
A présent il faudrait donc qu'à chaque fois que je rentre un devis, et que du coup cette formule renvoi un résultat, que ce résultat soit en quelque sorte "copier coller la valeur". Pour qu'à la réouverture du fichier pour un nouveau devis, ce résultat ne soit pas perdu.
Quelqu'un aurait-il une idée?

Cordialement
 

Pièces jointes

  • HES_TEST.xls
    130.5 KB · Affichages: 3

Danyspeed

XLDnaute Nouveau
J'avance un peu mais d'autres problèmes apparaissento_O

J'ai appliquer ce code en VBA dans la feuille "AVENANTS":
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 And Target.Column = 5 Then
        If Target.Value <> "" Then
            Target.Offset(0, 0).Value = Target.Offset(0, 0).Value
        End If
    End If
End Sub

ça fonctionne, sauf qu'après cela me plante le fichier: malgré que le calcul automatique soit bien coché, les calculs ne se font plus...

je suis perdu...
 

Discussions similaires

Réponses
3
Affichages
525

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz