Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formule .FIND dans une autre feuille

  • Initiateur de la discussion Initiateur de la discussion ptityoyo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

ptityoyo

Guest
Bonsoir à tous,

Je me retourne une nouvelle fois vers vous afin de trouver de l'aide.
Je possède actuellement une formule VBA de recherche :

If Not Sheets("Feuil1").Range("O1:O13").Find("2") Is Nothing Then OLEObjects("commandbutton2").Enabled = True Else OLEObjects("commandbutton2").Enabled = False

Cependant lorsque je souhaite modifier le cadre de la recherche dans la feuille 2, cela ne marche plus.
Pour cela je change Feuil1 en Feuil2 et à partir de là, je n'ai plus aucune interaction.
j'imagine que le problème proviens de "sheets("feuil2)".

Ci-joint une copie du fichier.

Merci
Cordialement,
 

Pièces jointes

Re : Formule .FIND dans une autre feuille

Bonsoir ptiyoyo,

En testant ton code comme ci-dessous modifié, tout fonctionne parfaitement :

Code:
Sub Worksheet_Change(ByVal Target As Range)


If Not Sheets("Feuil2").Range("O1:O13").Find("2") Is Nothing Then OLEObjects("commandbutton2").Enabled = True Else OLEObjects("commandbutton2").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("3") Is Nothing Then OLEObjects("commandbutton3").Enabled = True Else OLEObjects("commandbutton3").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("4") Is Nothing Then OLEObjects("commandbutton4").Enabled = True Else OLEObjects("commandbutton4").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("5") Is Nothing Then OLEObjects("commandbutton5").Enabled = True Else OLEObjects("commandbutton5").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("6") Is Nothing Then OLEObjects("commandbutton6").Enabled = True Else OLEObjects("commandbutton6").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("7") Is Nothing Then OLEObjects("commandbutton7").Enabled = True Else OLEObjects("commandbutton7").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("8") Is Nothing Then OLEObjects("commandbutton8").Enabled = True Else OLEObjects("commandbutton8").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("9") Is Nothing Then OLEObjects("commandbutton9").Enabled = True Else OLEObjects("commandbutton9").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("10") Is Nothing Then OLEObjects("commandbutton10").Enabled = True Else OLEObjects("commandbutton10").Enabled = False
If Not Sheets("Feuil2").Range("O1:O13").Find("11") Is Nothing Then OLEObjects("commandbutton11").Enabled = True Else OLEObjects("commandbutton11").Enabled = False

End Sub
Tu peux tester sur la copie de ton fichier ci-jointe ?

Cordialement.
 

Pièces jointes

Re : Formule .FIND dans une autre feuille

Bonsoir,

On pourrait aussi voir du côté ...

Code:
Sub Worksheet_Change(ByVal Target As Range)
Dim X As Byte

For X = 2 To 11
   If Not Sheets("Feuil2").Range("O1:O13").Find(X) Is Nothing Then OLEObjects("commandbutton" & X).Enabled = True Else OLEObjects("commandbutton" & X).Enabled = False
Next X

End Sub

G
 
Re : Formule .FIND dans une autre feuille

Re,

Merci pour vos solutions, elle marche très bien.
Cependant je viens de faire une découverte, si pour moi cela ne marcher pas au départ, c'est que la plage de recherche correspond à des cellules avec formules d'où l'apparition du problème.
Y'a t'il possibilité de mettre dans la formule une composante pour que celui-ci cherche le résultat et non les formules.
Car j'imagine qu'en insérant les formules de calcul dans le code VBA, cela doit marcher mais ne doit pas être chose évidente.


Ci-joint le fichier pour visualiser les formules.

Cordialement,
 

Pièces jointes

Re : Formule .FIND dans une autre feuille

Salut le forum

Il suffit d'ajouter un paramètre à ta fonction FIND
Code:
If Not Sheets("Feuil2").Range("H15:H31").Find("N01", LookIn:=xlValues) Is Nothing Then OLEObjects("DF1N01").Enabled = True Else OLEObjects("DF1N01").Enabled = False
Mytå
 
Re : Formule .FIND dans une autre feuille

Bonjour à tous,

Merci pour vos réponse aussi tardive.
Un grand merci à vous trois j'ai résolu mon petit problème grâce à vous.
Gelinotte, tes solutions sont impeccable surtout celle où tu procède par étapes : désactivation puis activation.
Cela me fait penser à du Grafcet.

Cordialement,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
411
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…