Boucle avec recherche de valeur et récupération adresse de cellules actives

Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009 - 26 août 2009 à 16:16
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009 - 28 août 2009 à 09:56
Bonjour

à partir de ce début de code je voudrais récupérer l'adresse de la cellule active pour appliquer 4 colonnes plus loin mais sur la même ligne une formule.
Code :
"Recherche une valeur dans le tableur"Cells.Find(What:=VarFrns, After:=ActiveCell, LookIn:=xlFormulas, _LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _MatchCase:=False, SearchFormat:=False).Activate

"récupérer l'adresse de la cellule active et appliquer une formule en (i, j+4)"
??

"Passer à la cellule suivante contenant la valeur recherchée"
Cells.FindNext(After:=ActiveCell).Activate

"Re appliquer formule en (i, j+4)"

"arreter d'appliquer la formule lorsque la ligne de la cellule suivante est inférieure à la ligne de la cellule qui vient d'être traitée"


Si quelqu'un a une solution

Merci
Roberto RIQUELME
A voir également:

4 réponses

ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
26 août 2009 à 16:42
Bonjour,

dim tCell as range
set tCell=selection
(tCell est la cellule, ou les cellules active)
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
27 août 2009 à 11:36
Bonjour
Merci pour le conseil ça marche pas mal
Voici le code sur lequel j'ai encore un problème

En fait ce que je veux c'est qu'il me sorte la dernière ligne sur laquelle apparaît un 2 (c'est un exemple)
C'est a dire si j'ai des "2" sur la colonne A sur les lignes 4 5 6 7 8
et sur la colonnes B sur les lignes 2 3 4
il faut que j'obtienne le msg 8
"Ceci me sert de test pour être sur qu'il prend en compte toutes les lignes de ma colonne A et qu'il n'ira pas sur la colonne B"

Je pensais que ce code marcherait mais il ne marche pas. je n'obtient pas ce que je souhaite et je trouve pas le problème

Sub Macro1()
Dim i As Integer
Dim j As Integer
Dim TCell As Range
Set TCell = Selection

Range("A1").Activate
Cells.Find(What:="2", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
i = TCell.Row

Do
Cells.FindNext(After:=ActiveCell).Activate
j = TCell.Row
Loop While j > i

MsgBox j

End Sub

si tu peux m'aider merci

Roberto
0
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
27 août 2009 à 20:23
Je comprends pas bien ce que tu veux faire...
Les .activate sur un objet range ne servent à rien.

Tu devrais essayer ça:

Sub Macro1()
Dim i As Integer
Dim j As Integer
Dim tCell As Range

Range("A8").Select
Set tCell = Cells.Find(What:="2", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)


Do
i = tCell.Row
Set tCell = Cells.FindNext(After:=tCell)
j = tCell.Row

Loop Until tCell Is Nothing Or i >= j

MsgBox i


End Sub
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
28 août 2009 à 09:56
Merci!!!

ça marche. Maintenant je vais mettre une formule pour modifier la cellule (i, Colonne + 5)
Je t'envoie le code si j'y arrive

En fait c'est comme recherche V mais vu qu'il y a plusieurs réponses ça complique un peu.


merci encore



Roberto RIQUELME
0
Rejoignez-nous