Automatiser la touche F4 en VBA

Bonjour à tous !

Ce n'est pas la première fois que je viens sur ce forum et à chaque fois mon problème est résolu.

J'espère qu'il en sera de même pour celui-ci.

Je vous joins mon fichier Excel pour une meilleure compréhension car c'est difficile à expliquer.

Merci par avance.

PS: Si vous avez besoin de plus d'infos, demandez moi.

Mathieu.

16fichier-test.xlsm (26.33 Ko)

Salut,

J'ai utilisé l'enregistreur de macro. Fonction rechercher et remplacer.

En fait j'ai remplacer les "$" de E19 par rien avant de copier la formule vers le bas.

Ci-joint ton fichier :

28fichier-test.xlsm (27.51 Ko)

Cdlt,

Bonjour,

Essaies ce code :

Sub ponder()
Dim O As Worksheet
Dim D As Worksheet
Dim C As Integer
Dim I As Integer
  Application.ScreenUpdating = False
  Set O = Sheets("Feuil1")
  Set D = Sheets("Feuil2")
  Select Case D.Range("E18").Value
    Case "bleu": C = 2
    Case "rouge": C = 3
    Case "vert": C = 4
  End Select
  O.Range("G2").Value = D.Range("E18").Value
  For I = 2 To 152 Step 15
    With O.Range("A" & I)
      If .Value = D.Range("C18").Value Then
          D.Range("E19").Formula = "='" & O.Name & "'!" & .Offset(1, C).Address(False, False)
      End If
    End With
  Next
  D.Range("E19").AutoFill Destination:=D.Range("E19:E31")
  D.Range("C19").Select
  Application.ScreenUpdating = True
End Sub
Sub E()
    Range("E19:E31").ClearContents
    Range("E18").ClearContents
    Range("C18").ClearContents
    Range("C17").Select
End Sub

Bonjour,

Une autre proposition sans formule.

Cdlt.

Public Sub DEMO()
Dim v
Dim rng As Range, rCell As Range
Dim cn As Long, rw As Long
    v = Cells(18, 3).Value
    Select Case Cells(18, 5).Value
        Case "bleu": cn = 2
        Case "vert": cn = 4
        Case "rouge": cn = 3
    End Select
    rw = 13
    Set rng = Worksheets("Feuil1").UsedRange.Columns(1)
    Set rCell = rng.Find(what:=v, LookIn:=xlValues, lookat:=xlWhole)
    If rCell Is Nothing Then Exit Sub
    Cells(19, 5).Resize(rw).Value = rCell.Offset(1, cn).Resize(rw).Value
    Set rCell = Nothing: Set rng = Nothing
End Sub

Bonsoir à vous VH_AE et Jean-Eric !

Merci beaucoup pour ces codes, j'ai pu adapter celui de VH_AE à ma macro et ça fonctionne super bien !

C'est toujours un plaisir de venir sur ce forum !

Encore merci et passez une bonne soirée.

Mathieu

Rechercher des sujets similaires à "automatiser touche vba"