Remplacer des données d'un tableau en fonction d'un critère

Bonjour,

J'ai besoin d'aide pour un petit problème de macro.

Donc j'ai une feuille excel avec deux onglets:

  • 1er onglet : j'ai un tableau de plusieurs colonnes fixes et des lignes qui s'incrémentent en fonction d'un autre tableau (qui sera pas concerné par mon soucis ici). J'ai une référence en colonne A du style RC-XX-XX (la seule donnée qui est fixe)
  • 2eme onglet : j'ai un document avec des trous à des endroits spécifiques

En gros, j'aimerais remplir mon 2eme onglet avec les données du tableau selon ma référence (ça j'ai trouvé avec la macro ci-dessous)

Sub Macro2()
    With Sheets("Quick")
    .Range("B2").Value = WorksheetFunction.VLookup(.Range("B1").Value, Sheets("TEST").Range("A2:F100"), 2, False)
    End With
End Sub

Je l'ai appliqué seulement sur le mini tableau 1/ du 2eme onglet

Et j'aimerais (et c'est là que je bloque) que si je modifie une donnée sur l'onglet 2, la donnée se modifie automatiquement dans la tableau (onglet 1) en recherchant la référence RC-XX-XX.

Je ne sais pas si c'est possible et j'avoue je ne sais pas par quoi commencer, s'il faut faire un copier/coller, un remplacement, une recherche

Sur l'onglet 2, en jaune c'est ce qui va se remplir automatiquement en tapant la référence dans la cellule en rouge et qui j'aimerais se recopie dans la tableau (sans ajouté une nouvelle ligne) quand il y a un changement

J'espère avoir été clair.

Merci de votre réponse et de votre aide

Cordialement

PS : pour garder en mémoire ce qui est dans l'onglet 2 et le copier dans l'onglet 1 j'ai trouvé ça :

Sub validation()

'Atteindre le formulaire et mémoriser les données
    Sheets("Quick_Kaizen modification").Select
    Range("I9:I15").Select
    Selection.Copy
'Test pour déterminer la ligne ou coller les infos dans le tableau
    Sheets("TEST").Select
    valeurB4 = Range("B4").Value
    If valeurB4 = "" Then
    Range("B4").Select
    Else
    Range("B3").Select
    Selection.End(xlDown).Select
    ligne_active_base = ActiveCell.Row
    Range("B" & ligne_active_base + 1).Select
    End If
'Mémoriser le n° de la ligne ou coller les données
    ligne_active_base = ActiveCell.Row
'Collage avec transposition
    Range("B" & ligne_active_base).Select
    Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'Rendre vierge le formulaire
    Sheets("Quick_Kaizen modification").Select
    Range("I9:I15").Select
    Selection.ClearContents
    Range("I9").Select

End Sub

J'ai essayé de l'adapter à mon document, je pense pour avoir ce que j'ai envie faut que je modifie cette partie

'Test pour déterminer la ligne ou coller les infos dans le tableau
    Sheets("TEST").Select
    valeurB4 = Range("B4").Value
    If valeurB4 = "" Then
    Range("B4").Select
    Else
    Range("B3").Select
    Selection.End(xlDown).Select
    ligne_active_base = ActiveCell.Row
    Range("B" & ligne_active_base + 1).Select
    End If

Je suis sur le bon chemin ou je suis totalement à l'ouest?

9rc-2015-test.xlsm (240.14 Ko)

Bonjour,

J'ai trouvé la fonction Find pour m'aider mais ça ne fait pas ce que je veux

'Test pour déterminer la ligne ou coller les infos dans le tableau
    RC = Sheets("TEST").Columns("A").Find(What:=Sheets("Quick_Kaizen modification").Range("B4"), LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
    Sheets("TEST").Select
    If RC = True Then
    Cells(RC, 2).Select
    ligne_active_base = ActiveCell.Row
    Else
    Range("B3").Select
    Selection.End(xlDown).Select
    ligne_active_base = ActiveCell.Row
    Range("B" & ligne_active_base + 1).Select
    End If

Pourquoi ça copie sur une nouvelle ligne et ça ne remplace par sur la ligne contenant ma référence?

Cordialement

Rechercher des sujets similaires à "remplacer donnees tableau fonction critere"