Fonction "RECHERCHEV", petit problème?

Proz

XLDnaute Occasionnel
:D

Bonjour,

J'ai intégré une fonction RECHERCHEV et j'ai désactivé le recalcul automatique dans option-calcul. Le probléme est que cette fonction n'est active qu'aprés enregistrement qui déclenche le calcul de la fonction recherchv.
Existe t'il un moyen de conserver la fonction recherchv mais d'éviter le recalcule du classeur entier toutes les 5s?
Merci de votre aide...;)

Edit:
Je sais qu'avec "F9" on recalule la feuil active mais n'y a t'il pas un autre moyen?
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Fonction "RECHERCHEV", petit problème?

Salut

le calcul se fait (même en bloqué) si tu édites puis valide une cellule (il ne se fait que sur la cellule validée) sinon je ne vois pas : si tu bloques le calcul, tu bloques le calcul de toutes les fonctions.

Un petit "truc perso" : si tes autres formules peuvent se recopier vers le bas : tu copies colles les valeurs de toutes les lignes sauf la première (que tu mets en couleur pour ne pas l'oublier) et tu débloques le calcul. Quand tu veux tout recalculer tu recopies vers le bas toutes les autres formules.

Cordialement
 

Proz

XLDnaute Occasionnel
Re : Fonction "RECHERCHEV", petit problème?

Bonjour,

Cette méthode revient à faire "F9" non...?
Car en fait "F9" recalcule et aprés chaque enregistrement, le calcul se fait aussi.
Dans la feuil2 ou se trouve ma fonction "RECHERCHEV",:D
Ce que je souhaite c'est conserver la méthode de calcul sur ordre tout en conservant la formule "recherchev" en fonctionement identique à celui du calcul automatique répercutant une info instantanée.
:)
 

jeanpierre

Nous a quitté
Repose en paix
Re : Fonction "RECHERCHEV", petit problème?

Bonsoir Proz, Dugenou, Sylvain59,

Ce que tu demande est impossible,c'est soit sur ordre, soit tout le classeur.

Bonne soirée tout de même.

Jean-Pierre

Edit : Bonsoir Tibo, bhbh, je ne connais pas le coup du F2, je vais donc tester car je suis perplexe
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Fonction "RECHERCHEV", petit problème?

Bonjour Proz, le fil,

Reprend ce que te propose Dugenou :

si tu édites puis valide une cellule (il ne se fait que sur la cellule validée)

Je viens de faire l'essai. Seule la cellule qui contient une formule et sur laquelle tu fais F2 puis Entrée est recalculée.

Il y a peut-être moyen d'automatiser tout ceci par macro, mais là, je laisse ma place.

Bonne soirée

@+

Bing ! Salut Jean-Pierre

@+
 

Cousinhub

XLDnaute Barbatruc
Re : Fonction "RECHERCHEV", petit problème?

Bonsoir,
tu peux choisir un évènement de feuille
Par exemple :
Exemple supposant ta formule dans la cellule A1

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then Target.Calculate
End Sub

Ainsi, quand tu cliques dans la cellule contenant ta formule, celle-ci et uniquement celle-ci se met à jour
 

Proz

XLDnaute Occasionnel
Re : Fonction "RECHERCHEV", petit problème?

:D

Merci pour vos réponse... Malgré le fait que tout fonctionne j'ai tout de même envisager d'essayer autre chose.:D
J'ai intégré dans une cellule un combo et dans une autre un textbox.
J'ai pu répercutée les données dans le combo mais pour le textbox, je n'ai pas le résultat esconté.:D
Voici le code si vous avez une solution pour que la donnée sélectionnée dans combo affiche dans le textbox la donnée correspondante::confused:

Code:
 Private Sub ComboBox1_Change()
With Sheets("BCD GESTION")
  Dim L As Integer, i As Integer, ws As Worksheet
Set ws = Sheets("BCD GESTION")
L = ws.Range("A65536").End(xlUp).Row
For i = 2 To L
If ComboBox1.Value = ws.Range("C9" & i).Value Then TextBox1 = ws.Range("D9" & i)
Next
For i = 1 To 4
If TextBox1.Value = Sheets("BCD GESTION").Range("d9").Value Then
    DerLi = .Range("A65536").End(xlUp).Row
    For Each Cell In .Range("C9:C" & DerLi)
      ComboBox1.AddItem Cell.Value
Next
   For Each Cell In .Range("D9:D" & DerLi)
     TextBox1.Value = Sheets("BCD GESTION").Range("d9")
    Next
End If
Next
End With
End Sub

J'ai fait n'importe quoi sur ce code...:eek:
Merci.
 
Dernière édition:

JeanMarie

XLDnaute Barbatruc
Re : Fonction "RECHERCHEV", petit problème?

Bonjour

Avant de "bricoler" un code VBA, il y a certainement une analyse des fonctions que tu utilises dans ton fichier.
Pourquoi As-tu coché l'option de calcul manuel, les temps de calculs étaient très longs, tu as des quantités de données impressionnantes, beaucoup de formules, etc ?

Un fichier nous permettrait de te fournir, une réponse la plus adapter à ton problème.

@+Jean-Marie
 

Proz

XLDnaute Occasionnel
Re : Fonction "RECHERCHEV", petit problème?

Bonjour

Avant de "bricoler" un code VBA, il y a certainement une analyse des fonctions que tu utilises dans ton fichier.
Pourquoi As-tu coché l'option de calcul manuel, les temps de calculs étaient très longs, tu as des quantités de données impressionnantes, beaucoup de formules, etc ?

Un fichier nous permettrait de te fournir, une réponse la plus adapter à ton problème.

@+Jean-Marie

:D
Bonjour,

Désolé, j'ai effacé ma réponse concernant votre question.:eek:
Dans mon classeur, sont intégrées des fonctions de calcul et de recherche ainsi que la fonction DECALER.
Il contient des graphiques qui répercutent automatiquement les données de manière dynamique.
Sinon il y a énormément de codes VBA fonctionnels de part l'aide et les réponses du forum et les recherches effectuées.
Depuis la création de listes avec la fonction DECALER, le recalcul se faisait toutes les 5s ou dès que je modifais une cellule en saisissant des données.
Bref, c'est pour cela que j'ai désactivé le calcul automatique et que je suis passé en manuel.
C'est ainsi que j'ai pu m'appercevoir que ma fonction RECHERCHEV ne fonctionnait qu'après enclenchement de "F9" ou enregistrement.
Ce qui m'embête c'est que cette fonction est utile dans la recherche rapide de coordonnées tant elle est instatanée. Si je souhaite obtenir le résultat, il faut faire "F9" et le pb est que le recalcul met trop longtemps.
Le classeur est volumineux et contient une vingtaine de Feuil.

Ce que je souhaiterais, c'est une équivalence de la fonction RECHERCHEV en VBA?;)
Merci pour aide si précieuse et votre patience:)
 

Proz

XLDnaute Occasionnel
Re : Fonction "RECHERCHEV", petit problème?

:)
Bonsoir à tous,

J'ai trouvé, voici le code:
Code:
Private Sub ComboBox1_Change()
 With Sheets("BCD GESTION")
    DerLi = .Range("A65536").End(xlUp).Row
    For Each Cell In .Range("C9:C" & DerLi)
      ComboBox1.AddItem Cell.Value
    Next
Dim L As Integer, ws As Worksheet
Set ws = Sheets("BCD GESTION")
L = ws.Range("A65536").End(xlUp).Row
For i = 2 To L
If ComboBox1.Value = ws.Range("c" & i).Value Then TextBox1 = ws.Range("d" & i)
Next
End With
End Sub

A+
 
Dernière édition:

Proz

XLDnaute Occasionnel
Re : Fonction "RECHERCHEV", petit problème?

:D
Re...

Je suis aller trop vite...:D
Je viens de m'apercevoir après réouverture de mon classeur que ce n'était pas fonctionnel.:mad:
Lorsque j'active le code dans VBA, cela fonctionne. J'ai du oublié qqchose mais quoi? Pouvez vous m'aider SVP:)?
 

JeanMarie

XLDnaute Barbatruc
Re : Fonction "RECHERCHEV", petit problème?

Bonsoir

Même si je persiste, sur le fait qu'il faut analyser les formules de ton classeur, pour en supprimer les éléments gourmand en calcul.

Voici le code VBA équivalent à la fonction RECHERCHEV.
Code:
Function recherchevVBA(vVal As Variant, vPlage As Range, vColonne As Byte, vProche) As Variant
recherchevVBA = Application.VLookup(vVal, vPlage, vColonne, vProche)
End Function
@+Jean-Marie

PS : une coquille c'était glissée lors de la copie du code
 
Dernière édition:

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR