VBA affichage d'une cellule de la dernière ligne d'un caractère [Résolu]

Signaler
Messages postés
3
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
25 décembre 2020
-
Messages postés
3
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
25 décembre 2020
-
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

Messages postés
2175
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
9 janvier 2021
301
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
Messages postés
3
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
25 décembre 2020

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
Messages postés
3
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
25 décembre 2020

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