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)
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 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 :
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 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 avec la fonction Find mais ça ne fait pas ce que je veux
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 'Test pour déterminer la ligne ou coller les infos dans le tableau Sheets("TEST").Select 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?
RC 2015 test.xlsm
Cordialement
Partager