Macro pour réécriture dans base de données
Bonjour à tous,
Je suis actuellement bloqué sur un problème et j'ai beau parcourir le net je ne trouve pas de situation équivalente sur les forums ce que je trouve étrange car je ne doit pas être le premier dans mon cas (ou alors je n'ai pas taper les bons mots clés dans ma recherche).
Je suis en train de réaliser un outil pour suivre les activités Marketing de mon entreprise. Avec un formulaire de saisie, l'utilisateur alimente une base de données, chaque fois qu'une donnée rentre dans la base elle se retrouve avec un identifiant unique.
L'utilisateur peu par la suite consulter les données de cette base via un onglet "Suivi d'activité" qui permet de faire une "extraction" de la base en fonction des critères de recherches préalablement défini. Dans cette "extraction" de la base, l'utilisateur pourra être amené à modifier les valeurs comme le statut ou encore la quantité (bref tout ce qui est présent sur la ligne).
Maintenant je souhaiterai qu'il soit possible de remplacer les lignes de la base par les lignes de l'extraction modifiée par l'utilisateur via une macro
Pour les pro d'Excel j'imagine que c'est un jeu d'enfant ! Mais étant débutant en VBA je ne sais pas trop comment m'y prendre. J'imagine qu'il faut créer une boucle.
Je vous joint un fichier simplifié pour l'illustration
Merci d'avance à ceux qui prendront le temps de m'aider
Bonjour,
Perso, j'écrirai dans le code le feuille de "Suivi activité" les lignes suivantes:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zn As Variant, T As Variant, id As String, lg As Long, Rg As Range
id = Me.Cells(Target.Row, "L").Value
lg = Me.Cells(Rows.Count, "L").End(xlUp).Row
Set Zn = Intersect(Target, Range("A2:K" & lg))
With Sheets("Base")
If Not Zn Is Nothing Then
T = Me.Range(Me.Cells(Target.Row, "C"), Me.Cells(Target.Row, "K")).Value
Set Rg = .Range("J:J").Find(id, LookIn:=xlValues, Lookat:=xlWhole)
If Not Rg Is Nothing Then .Range("A" & Rg.Row).Resize(UBound(T, 1), UBound(T, 2)) = T
End If
End With
End SubLes modifs devraient se répercuter dans l'onglet "Base" au fur et à mesure des saisies
A tester
Pierre
Bonjour Pierrep56,
Alors là c'est parfait ! Je ne savais pas que c'était possible de faire comme cela.
J'ai adapté à mon modèle qui est plus complexe que le fichier que j'avais laissé en pièce jointe et c'est vraiment encore mieux que ce que souhaitais faire. Un grand merci pour ton aide.
Je te souhaite une bonne journée
Buzz