xlValues et XlFormulas

Bonjour,

J'ai une colonne dont le format de cellule est standard. Les cellules sont non verroullées. et ce ne sont que des valeurs...aucune formules. Mais du texte et parfois des nombres. Par macro...je recherche une valeur dans cette colonne. Voir code plus bas.

Sur un ordi Excel 2003 avec , LookIn:=xlValues, Lookat:=xlWhole).Row ...aucun problèmes indépendemment si la valeur est un nombre ou du texte.

Sur un ordi Excel 2007 avec le même code LookIn:=xlValues, Lookat:=xlWhole).Row ... ça bug si c'est un nombre. Si j'inscrit plutôt le code  LookIn:=xlFormulas, Lookat:=xlWhole).Row ... c'est OK même si pourtant ce ne sont que des valeurs???

Lorsque j'ai pris possession du fichier et que j'ai testé sur un ordi avec Excel 2003 la même situation s'est produite car j'en déduis que la situation s'est créé à partir d'un Excel 2007 et que cela a suivi.

Donc sur un ordinavec Excel 2003 le même code fonctionne pour un fichier et ne fonctionne pas pour un autre fichier???

 

Auriez-vous une idée de la raison et que me suggérez-vous pour éviter tout problèmes?

Je peux modifier mon code pour LookIn:=xlFormulas, Lookat:=xlWhole).Row ...mais ma craint est que ça ne fonctionne pas non plus???

Merci à l'avance.

Feuil35.Range("CN_GroupCommentFilterZone2").Formula = "=" & Feuil4.Name & "!$A$" & Feuil4.Range("CN_DonneesGroup").Find(What:=Feuil35.Range("CN_GroupCode").Value, LookIn:=xlFormulas, Lookat:=xlWhole).Row

 

Informations sur la question


Dernière mise à jour mai 20, 2019 Consultations 3 038 Produit(s) concerné(s) :
Réponse
Réponse

 

Bonjour,

 

Pourquoi utiliser  XlFormulas ou XlValues ?

 

Par ce paramètre "LookIn:= xlValues", la méthode  "Find" recherche l'expression demandée dans ce que retourne la propriété .Value ou .Formula de chacune des cellules.

Toutes les cellules de la feuille de calcul ont ces 2 propriétés :

X = Range("A1").value

Y = Range("A1").Formula

Ces 2 lignes de code retournent des choses différentes selon que la cellule A1 contient une valeur ou une formule.

 

La méthode cherche soit dans l'expression X ou Y selon que tu as affecté le paramètre "LookIn" avec" xlValues" ou "Xlformulas".

 

Cependant, il faut prendre le temps de lire la petite note de l'aide concernant cette méthode :

'---------------------

Les paramètres des arguments RechercherDans, Regarder, OrdreRecherche et RespecterNbreOctets sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucune valeur pour ces arguments lors du prochain appel à la méthode, les valeurs enregistrées sont utilisées. Le fait de définir ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments explicitement chaque fois que vous utilisez cette méthode.

'-----------------------

Ce qui précède est vrai que la recherche soit faite par du code VBA ou par la commande de l'interface de calcul.

 

Une alternative à la fonction "Find" et la fonction "Equiv()" ou Match() en vba si la recherche ne se fait que sur une colonne...

 

 

MichD
----------------------------------------

Votre problème est-il résolu ?

Nous sommes désolés de ne pas pouvoir vous aider.

Parfait ! Merci d'avoir marqué cette réponse.

Êtes-vous satisfait de cette réponse ?

Nous vous remercions de vos commentaires, qui nous aideront à améliorer le site.

Êtes-vous satisfait de cette réponse ?

Merci de vos commentaires