Pb fonction FIND avec boucle qui ne se termine pas

  • Initiateur de la discussion Initiateur de la discussion zorg
  • 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 !

zorg

XLDnaute Nouveau
Bonjour le forum,
J'ai un'tit souci dans une macro avec la fonction FIND.
En fait il faut balayer les cellules d'une feuille et vérifier si la valeur des cellules est "E="... Si oui on suppr et on insère "E="+ une variable récupérée avant (MyUnit).
Le souci c'est que la fonction trouve ma 1ère cellule avec "E=" fait le job correctement mais boucle toujours puisque la nouvelle valeur contient aussi "E="
Je sais pas comment faire pour qu'elle ne tienne plus compte des cellules déjà vérifiées. J'ai pas trouvé de posts existants avec un pb similaire.

Voici mon bidouillage; soyez indulgents j'suis un amateur 😉

For Each c In Cells
Set k = Cells.Find("E=")
If Not k Is Nothing Then
k.Select
Selection.ClearContents
Selection.Value = "E=" & MyUnit
End If
Next c


Merci d'avance
 
Re : Pb fonction FIND avec boucle qui ne se termine pas

Re

oups excuse sur le coup j'ai bouclé sur toutes les cellules de la feuille

essaies ainsi

Code:
 y = Range("A1").SpecialCells(xlCellTypeLastCell).Address
For Each c In Range("A1:" & y)
If c = "E=" Then c.Value = "E=" & myunit
Next c
 
Re : Pb fonction FIND avec boucle qui ne se termine pas

Re

PascalXLD: je teste de suite ton code

Bjr Tototiti: je sais que ça fait une tres grosse recherche mais les cellules contenant "E=..." peuvent etre un peu partout; a moins qu'il y ait une autre soluce

Zorg
 
Re : Pb fonction FIND avec boucle qui ne se termine pas

Re

PascalXLD, Je viens de tester ta soluce; ça fonctionne globalement par contre les cellules qui contiennent E= + une valeur n'étaient pas modifiées du coup j'ai mixé ce que j'avais avec ce que tu m'as donné


y = Range("A1").SpecialCells(xlCellTypeLastCell).Address
For Each c In Range("A1:" & y)
Set k = c.Find("E=")
If Not k Is Nothing Then
c.Value = "E=" & myunit
End If
Next c

C'est surement loin d'etre parfait mais ça a le mérite de fonctionner et ça prend pas trop de temps grace à ta manip pour avoir la dernière cellule.

Merci bcp; merci le forum une fois de plus
 
Re : Pb fonction FIND avec boucle qui ne se termine pas

Re

je n'avais pas compris que c'était contenir et non =

tu peux modifier la mienne ainsi pas sur que ce soit plus rapide à toi de voir

Code:
y = Range("A1").SpecialCells(xlCellTypeLastCell).Address
For Each c In Range("A1:" & y)
If c Like "E=*" Then c.Value = "E=" & myunit
Next c
 
Re : Pb fonction FIND avec boucle qui ne se termine pas

et comme ça ?

Code:
y = Range("A1").SpecialCells(xlCellTypeLastCell).Address
For Each c In Range("A1:" & y)
If c.value like "E=*" Then c.Value = "E=" & myunit
Next c

je suis sûr que c'est plus rapide qu'avec Find

Edit : Bon, aprés tout c'est ton code Pascal, c'est normal que tu sois le premier à le corriger 🙂
 
Dernière édition:
- 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
Retour