fonction recherche en vba

  • Initiateur de la discussion DJ.RUN
  • Date de début
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
 
D

DJ.RUN

Guest
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
 
V

Valérie

Guest
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
 
D

DJ.RUN

Guest
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
 
D

DJ.RUN

Guest
ç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
 

Discussions similaires

Statistiques des forums

Discussions
314 644
Messages
2 111 533
Membres
111 180
dernier inscrit
Angeline4