Mettre Formule excel en Vba [Résolu]

lispo 49 Messages postés dimanche 2 octobre 2005Date d'inscription 1 septembre 2008 Dernière intervention - 4 févr. 2007 à 11:09 - Dernière réponse : Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention
- 5 févr. 2007 à 11:13
Bonjour,
je desire mettre une formule excel en Vba
ex:
Private sub Button_Click()
dim  nom as string

ma formule excel  = OFFSET(C1;MATCH(G19;C2:C20;0);1))

nom = ...
 end sub
merci d'avance
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 4 févr. 2007 à 21:46
3
Merci
L'équivalent n'existe pas vraiment sous VBA
Ta formule contient 2 choses:
1- recherche d'une valeur de la colonne G, soit G19, dans la colonne C
2- afficher la cellule voisine en D

Voici comment je procéderais
    Dim Recherche As Range
    Dim Nom
   
    ' équivalent à Match
    ' recherche la valeur en G19 dans la colonne C
    Set Recherche = Columns("C:C").Find(Range("G19"))
            ' ou Set Recherche = Range("C2:C20").Find(Range("G19"))

    If Not Recherche Is Nothing Then
        ' équivalent à Offset Excel
        Nom = Range(Recherche.Address).Offset(0, 1)  'valeur en D
        MsgBox Nom
    End If

MPi

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de cs_MPi
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 4 févr. 2007 à 15:07
0
Merci
Peux-tu être plus clair ?

Où veux-tu mettre cette formule ?
    dans une cellule ? laquelle ?
    dans une plage de cellules ?  lesquelles ?
    l'utiliser dans ton code VBA ? donc créer l'équivalent ?

MPi
Commenter la réponse de cs_MPi
lispo 49 Messages postés dimanche 2 octobre 2005Date d'inscription 1 septembre 2008 Dernière intervention - 4 févr. 2007 à 20:12
0
Merci
oui c'est crée l'équivalent en Vba
Commenter la réponse de lispo
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 5 févr. 2007 à 11:13
0
Merci
Si je ne me trompe pas, tu peux utiliser la formule Equiv directement en VBA, en utilisant :
Worksheetfunction.match

Par contre, la formule Decaler ( ou Offset) n'existe pas, tu es donc obligé de la créer toi-même, mais ce n'est pas très compliqué.

Molenn
Commenter la réponse de Molenn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.