fonction recherche en vba

  • Initiateur de la discussion Initiateur de la discussion DJ.RUN
  • 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 !

D

DJ.RUN

Guest
Bonjour à toutes et à tous,

je suis un peu perdu dans le vba, car en bon débutant autodidacte qui se respect j'ai du mal à comprendre . un peu d'aide serai la bienvenue .

je vous explique mon problème :

je travaille sur Excel 97 et Windows 98

j'ai un tableau qui contient 12 colonnes correspondant aux 12 mois de l'année .
sur une ligne j'ai une formule de calcul par exemple à la ligne 37 colonne A
la formule est "=toto", toto correspondant à un nom d'une cellule dans le tableau .

je cherche comment, par le biais du vba à l'aide d'un bouton,
rechercher la formule : =toto
puis la copier la formule =toto sur la cellule B37 et pour terminer faire une copie spéciale (valeur) de la cellule de départ qui est A37.
et je voudrai pouvoir faire cela pour chaque mois de l'année .

je vous remercie par avance pour votre aide .

dj.run
 
une petite explication supplémentaire car en me relisant je trouve que c'est un peu flou.

je recherche comment trouver la cellule qui contient la formule : =toto,
puis la copier sur la premiere cellule qui se trouve à droite puis faire un copier coller, collage spécial : valeur , de la cellule trouvée au début de la procédure .

si la cellule contenant =toto est A37, je voudrai copier sur B37 =toto,
puis en A37 faire copier coller collage spécial .

et je voudrai pouvoir cette opération à chaque début de mois .


encore merci pour votre aide .

dj.run
 
Salut dj.run, et le forum

pour ce qui est de rechercher puis récupérer la valeur voilà les 2 lignes necessaires

Cells.Find(What:="=toto", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

ActiveCell.Offset(0, 1).Value = ActiveCell.Value

Ensuite C pas tout à fait pareil je voudrai pouvoir cette opération à chaque début de mois ou bien je voudrai pouvoir faire cela pour chaque mois de l'année

Alors si C pour chaque mois de l'année on boucle!! sinon pas assez d'infos.

@ bientôt
Valérie
 
merci valérie pour ton aide,
une partie de mon problème est résolu, car la fonction trouve bien la cellule qui contient =toto, mais elle me copie sur la première cellule à droite que la valeur et ce n'est pas excatement ce que je veux faire .

si A37 contient =toto, je voudrai que sur B37 j'ai la formule =toto puis
une fois cela fait, que sur A37 j'ai sa valeur et non plus =toto.

je vais continuer à chercher de mon coté et si tu trouve une solution fait le moi savoir .


encore un grand merci de te pencher sur mon problème.

DJ.run
 
ça y est valerie j'ai trouvé,
je ne sais pas si le code que j'ai tapé est correct mais ça fonctionne et cela grace à toi .


Sub copier()

Cells.Find(What:="=toto", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate

ActiveCell.Offset(0, 1) = ActiveCell.Formula
ActiveCell.Offset(0, 0) = ActiveCell.Value

end sub

encore un grand merci.

dj.run
 
- 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
10
Affichages
539
Réponses
31
Affichages
2 K
Retour