VBA affichage d'une cellule de la dernière ligne d'un caractère

Résolu
wawayou_nation Messages postés 3 Statut Membre -  
wawayou_nation Messages postés 3 Statut Membre -
Bonjour à tous.

Je suis débutant en VBA. SVP, j'ai vraiment besoin d'un coup de main pour la transcription de la formule suivante en code VBA :
{=DECALER(B1;MAX(LIGNE(A2:A20)*(A2:A20=E3))-1;;;)}

Merci d'avance

2 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour,

    L'intitulé de votre demande ne veut absolument rien dire.

    Pour votre formule, si vous la voulez traduite en VBA, il suffit d'utiliser l'enregistreur de macro, ce qui donne avec la formule en E1 par exemple:
        Range("E1").FormulaArray = "=OFFSET(R1C2,MAX(ROW(R2C1:R20C1)*(R2C1:R20C1=R3C5))-1,,,)"
    .

    Maintenant si vous voulez traduire cela en VBA pur, il faudrait qu'on puisse comprendre ce que vous cherchez avec un fichier à l'appui et des exemples et commentaires sur ce que vous attendez.

    Cdlt
    0
    1. wawayou_nation Messages postés 3 Statut Membre
       
      Bonjour

      En fait, je voulais avoir le résultat de cette formule dans un textbox de userform qui comporte un combobox, lequel est relié à un cellule de ma feuille. Ainsi dès que je fais une sélection à partir du combobox, cela agit automatiquement sur ma feuille. Je récupère alors dans le même temps le résultat dans le textbox dédié dans mon userform. Ci joint un aperçu.

      Cordialement
      0
  2. wawayou_nation Messages postés 3 Statut Membre
     
    Bonjour,

    J'ai fini par trouver une solution qui fonctionne très bien. J'ai lié le combobox à la cellule E3 à l'aide du code suivant

    Private Sub ComboBox1_Change()
    Range("E3").Value = ComboBox1.Value
    End Sub

    Ainsi lorsque je changerai de producteur dans le userform, cela changera automatiquement dans la feuille.

    Ensuite je récupère dans le même temps la dernière production mensuelle dans le TextBox1 à l'aide du code suivant que j'ai placé dans la feuille

    Private Sub Worksheet_Change(ByVal Target As Range)
    userform1.TextBox1.Text = sheets("Feuil1").range("F3")
    End Sub

    Mon problème est donc résolu. Merci pour votre aide

    Cordialement
    0