Probleme de cellule

Résolu
virnini9 Messages postés 11 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2007 - 16 avril 2007 à 16:00
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 16 avril 2007 à 23:15
Bonjour,

j'ai réussi à récupérer l'adresse d'une cellule :
c1 = .Cells.Find("RCS", ActiveCell, xlFormulas, xlPart, xlByRows, xlNext, False).Address
Comment faire pour récuperer la valeur de la celulle situé juste en dessous ?

Merci d'avance.

14 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 avril 2007 à 17:22
Re,
Bon il y a sûrement plus simple mais bon ...
Dim Ligne As Long
Dim Colonne As Long
'On recherche et on active la cellule de la recherche
'(attention plante si ne trouve rien)
Cells.Find("RCS", ActiveCell, xlFormulas, xlPart, xlByRows, xlNext, False).Activate
'On recupère la ligne
Ligne = ActiveCell.Row + 1
'on recupère la colonne
Colonne = ActiveCell.Column
'on affiche la valeur de la cellule
'juste en dessous mais dans la meme colonne
MsgBox Cells(Ligne, Colonne).Value, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 16:03
Est-tu certain que tu travail en VB6 ?
0
virnini9 Messages postés 11 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2007
16 avril 2007 à 16:06
Oui ! Est ce possible avec cette version ?
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 16:07
Rectification
quand tu met "RCS" c'est une plage de données ex:  B1:C3
donc pour avoir la cellule en dessous tu devrais mettre B2:C3
A+
louis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
virnini9 Messages postés 11 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2007
16 avril 2007 à 16:12
Non RCS, c'est un mot que je cherche. J'ai récupéré la valeur entiere de la cellule contenant le mot "RCS",  je cherche maintenant à récupérer la valeur de la case se situant juste en dessous.


Merci d'avance
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 avril 2007 à 16:17
Salut,
Passe plutot par Row au lieu de Address
soit:

c1 = .Cells.Find("RCS", ActiveCell, xlFormulas, xlPart, xlByRows, xlNext, False).Row
'Donc  juste en dessous
c1 = .Cells.Find("RCS", ActiveCell, xlFormulas, xlPart, xlByRows, xlNext, False).Row + 1, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 16:18
Désolé ta réponse m'est parvenue après mon dernier poste, mais si tu tavail en VB6 je ne comprend pas ta syntaxe ?
Dans VB6 travail-tu sur une feuille Excel et si oui, quel version et composant VBA
Il est préférable au départ d'informer sous quel logiciel et version tu travail
Un minimum de détails est nécessaires pour savoir qui peut t'aider
louis
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 16:21
salut Jrivet


Je ne connais pas cette fonction, dans quel language la trouve-t-ont?


merci


louis


 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 avril 2007 à 16:24
Salut,
C'est de base en VBA sous excel.
Mais tu peux très bien te retrouver avec des syntaxe pareil en VB6 si tu ajoutes en références à ton projet : Microsoft Excel X.X Object Library
Tu pourras alors depuis VB6 piloter tes classeurs excels avec les même syntaxe qu'en VBA
ici il y a .Cells car je pense que cete ligne est à l'intérieur d'un bloc With
@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 16:41
Bon.. beh oui, ont ne sait pas rout connaître par coeur, toutefois, j'ai rechercher et trouver ceci
Cet exemple montre comment rechercher toutes les cellules de la plage A1:A500 de la première feuille de calcul qui contiennent la valeur 2, puis grise ces cellules.

With Worksheets(1).Range("a1:a500")
    Set c . Find (2, lookin:xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Interior.Pattern = xlPatternGray50
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
donc si tu adapte les adresse, tu pourra trouver tes données
A+
louis
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 16:45
Ahhh.. Pas lisible
Cet exemple montre comment rechercher toutes les cellules de la plage A1:A500 de la première feuille
de calcul qui contiennent la valeur 2, puis grise ces cellules.

With Worksheets(1).Range("a1:a500")    Set c . Find (2, lookin:xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
           c.Interior.Pattern = xlPatternGray50
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
J'espère que ce serra plus lisible
0
virnini9 Messages postés 11 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2007
16 avril 2007 à 17:11
Merci bcp pour cette formule jrivet par contre comment pourrais je récupérer la valeur de la cellule ?
0
virnini9 Messages postés 11 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2007
16 avril 2007 à 17:26
MERCI BCP !
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
16 avril 2007 à 23:15
Offset(Ligne, Colonne)

Range("A1").Offset(1,0)  donnera A2
Range("A1").Offset(0,1)  donnera B1

Tu peux aussi t'en servir avec des négatifs pour aller vers le haut ou la gauche

MPi
0
Rejoignez-nous