Traduction Formule en VBA ( recherchev d'une petite valeur)

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
D
DEMAHOM08
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 7 avril 2013
Version d'Excel : 2010

Message par DEMAHOM08 » 14 juillet 2016, 15:48

bonjour,

j'utilise une formule qui bug parce que les données se trouve dans un classeur fermé donc je me réfère a vous pour m'aider a traduire ma formule en vba pour éviter l'erreur .

ci dessous la formule que j'utilise :

=SI(AUJOURDHUI()-1<$A4;"";RECHERCHEV(PETITE.VALEUR('\\ylavpa15\RAFI\Tresorerie\D_Tresorerie\DEPARTEMENT TRESO 2016\SUIVI CHEQ 2016\[cpa 108.xls]CPA juin 2016 '!$A$10:$A$500;NB.SI('\\ylavpa15\RAFI\Tresorerie\D_Tresorerie\DEPARTEMENT TRESO 2016\SUIVI CHEQ 2016\[cpa 108.xls]CPA juin 2016 '!$A$10:$A$500;"<="&$A4));'\\ylavpa15\RAFI\Tresorerie\D_Tresorerie\DEPARTEMENT TRESO 2016\SUIVI CHEQ 2016\[cpa 108.xls]CPA juin 2016 '!$A$10:$H$500;8;1))

résultat : dernière valeur en cherchant la date d'hier ou la date la plus proche ( date antérieur ) sur le classeur de données.

meilleures salutation .

je vous remercie par avance .
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 14 juillet 2016, 17:11

Bonjour,

A mon avis, il conviendrait d'utiliser une méthode plus rationnelle !
- Eviter les noms se terminant par une espace, tels qu'il en apparaît dans la formule ! (ça c'est un principe général).

Opérer par VBA (ce qui a l'avantage de ne pas créer de liaisons entre classeurs)
[NB- Cela me paraît toujours préférable, sauf pour ceux qui aiment se créer des obstacles :lol: ]

Définir une procédure qui :
- ouvrira le classeur de données,
- opèrera la recherche (avec des moyens VBA !)
- récupèrera la valeur cherchée,
- l'affectera là où on le souhaite,
- fermera le classeur de données.

Cordialement.
D
DEMAHOM08
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 7 avril 2013
Version d'Excel : 2010

Message par DEMAHOM08 » 14 juillet 2016, 17:27

bonjour,

ma requête est de traduire ma formule en VBA car je ne m'y connais pas en VBA.

je prendrais en considération la modification des noms avec les espaces merci :D

cordialement.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 14 juillet 2016, 17:38

Sans doute !

Mais il faudrait que tu fournisses un modèle du classeur à partir duquel tu opères, indiques ce que tu vas rechercher à partir de quels éléments figurant dans ce classeur, fournisses également un modèle du classeur de données dans lequel s'effectuera la recherche.

Je n'ai nullement l'intention de décoder ta formule pour en extraire ces éléments (si tant est qu'ils soient suffisants) ! :D

Cordialement.
D
DEMAHOM08
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 7 avril 2013
Version d'Excel : 2010

Message par DEMAHOM08 » 14 juillet 2016, 20:47

je remercie votre attention
ci-joint un modèle du relevé bancaire qui servira de données (classeurs placés dans un partage comme indiqué dans la formule) et une recap des soldes sachant que j'utilise cette formule sur plusieurs relevés pour avoir une recap des soldes journaliers
Recap Soldes.xls
(79.5 Kio) Téléchargé 12 fois
Model Relevé De Banque.xlsx
(12.3 Kio) Téléchargé 12 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 14 juillet 2016, 21:02

Il manque juste les explications !

Quelle colonnes doivent être servies dans le premier classeur : seulement C et I ? ...
Ce qu'on doit chercher dans le second, à partir de quelles données du premier.

Accessoirement pouquoi le classeur est en .xls puisque tu affiches 2010 ?
D
DEMAHOM08
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 7 avril 2013
Version d'Excel : 2010

Message par DEMAHOM08 » 14 juillet 2016, 21:29

je voudrais recopier la valeur du solde de chaque fin de journée sur chaque relevé ( 15 relevés bancaire ) qui est en colonne H suivant la banque et la date sur le fichier synthèse "recap"

personnellement j'utilise excel 2010 mais sur nos PC de Bureau professionnelles nous utilisons 2007. ceci dit je vais utiliser les fichiers en question sur 2007.

merci
D
DEMAHOM08
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 7 avril 2013
Version d'Excel : 2010

Message par DEMAHOM08 » 17 juillet 2016, 17:21

Bonjour,

je viens de faire un effort, j’espère que ce que je viens d’écrire est plus claire, voudriez vous m'aider svp
' ca serait bien de la rendre événementielle
Sub Boucle()
Dim monResultat As Integer
Dim I As Long
donnée = "ylavpa15\RAFI\Tresorerie\D_Tresorerie\DEPARTEMENT TRESO 2016\SUIVI CHEQ 2016\[bna.xls]BNA Juin 2016"
'condition de mise a jour pour aujourd’hui -1
 
 
Set Z = donnée.Range(A7, A)
 
    For I = A3 To Z
        monResultat = Evaluate("=COUNTIF(Z,I)")
        'If monResultat = 1 Then Cell.Value = cellule en "H" de la derniere valeur i trouver dans donnée je crois que je devrais appliquer une Vlookup de I ???
        'if not trouver la derniere date saisite et donné son solde
    Next I
End Sub
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message