temporisation de RECHERCHEV

D

Damou

Guest
Bonjour,

Est-il possible de temporiser la fonction RECHERCHEV pour que les cellules concernée soient actualisées une fois la cellule source validée ?

Actuellement, les cellules s'actualise à chaque chiffre entré.
Par exemple, je rentre le chiffre 123456, et les cellules s'actualisent à 1, puis 12 puis 123 ... etc.

merci d'avance.
 
@

@+Thierry

Guest
Bonjour Damou, le Forum

Essaies en mettant Excel en mode de Calcul Manuel soit par VBA :

Sub XLManual()
Application.Calculation = xlCalculationManual
End Sub

Sub XLAuto()
Application.Calculation = xlCalculationAutomatic
End Sub

Ou bien par les menus :

     Menu
     => Outils
       => Options
         => Onglet Calculation (Calculs en FR)
           => Cocher Manuel

Je pense que celà devrait aller mieux...
Pour faire calculer Excel ensuite à la demande en mode manuel il suffit de presser la touche de fonction [F9]

Bonne Fin de Journée
@+Thierry
 
D

Damou

Guest
Merci Thierry !

J'avais pensé au calcul manuel par les options, mais cela ne répond pas aux contraintes imposées. Il faut vraiment que le calcul soit fait à la fin de la saisie, mais fait automatiquement.

Je n'ai pas encore essayé avec les fonctions VBA.

Par contre j'ai trouvé un truc qui est assez satisfaisant :
un quatrième paramètre dans la fonction RECHERCHEV qui oblige a trouver la correspondance exacte.
Du coup, mes données entrées étant formatées sur le même nombre de caractères, il ne peut trouvé de correspondance qu'une fois la saisie terminée !
Quand je rentre 123456, il affiche un #N/A pour 1, puis 12 puis 123... etc, mais qui n'est pas gênant, puisque il affiche les bonnes infos une 132456 entré.

Je sais pas si je me suis bien exprimé, mais merci encore Thierry.
 
@

@+Thierry

Guest
Re Damien, le Forum

Oui le paramétrage Faux évitera de retourner la valeur la plus approchante puisque cela demande de trouver un "Exact Match".

Par contre avec du VBA, si la rechecheV ralentit ton "Dell" , on peut envisager de basculer en mode manuel et auto... automatiquement

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
Application.Calculation = xlCalculationManual
Else
Application.Calculation = xlCalculationAutomatic
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Calculate
End Sub

(à mettre dans le Private Module de la WorkSheet en Question)

Bonne Soirée
@+Thierry
 
A

andré

Guest
Salut à vous,

Je crois qu'il y a a plus simple.

Deux méthodes :

Sous le menu Outils / Options / Calcul / Sur ordre.
Il existe une icône "caluculer maintenant" à mettre dans la barre d'outils.

Mettre une condition supplémentaire dans la formule.
Exemple : =SI(A1="";"";RechercheV(....))
Tant que A1 (qui est dans l'exemple la dernière cellule à saisir avant le calcul) reste vide, le calcul ne s'effectuera pas.

Bonne soirée.
Ândré.
 

Discussions similaires

Réponses
9
Affichages
327

Statistiques des forums

Discussions
314 208
Messages
2 107 290
Membres
109 796
dernier inscrit
aelgar