Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/12/2011, 21h53   #1
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Par défaut Problème recherche et déplacement sur la ligne

Bonjour,

J'ai créé une macro. qui se connecte à une bd oracle et qui doit ensuite chercher si l'occurrence du recordset est présente dans une colonne. Si tel est le cas, une colonne de la ligne concernée doit être renseignée par un "x".

Je sais utiliser un recordset et un peu laméthode find. Par contre je ne sais pas comment récupérer le numéro de ligne sur lequel se trouve l'occurence et me déplacer en colonne.

Je vous remercie d'avance.
Julien.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 09h15   #2
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 224
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 224
Points : 2 023
Points : 2 023
Bonjour,
Voyez du côté de INDEX et MATCH associés.

http://excel.developpez.com/faq/inde...iserIndexEquiv
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 18h13   #3
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Je vous remercie de votre réponse mais je souhaite le faire par vba et non par ne formule.
Je ne connaissai pas cette formule. Elle me sera peut-être utile ailleurs.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 21h18   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
montre nous comment tu utilise la méthode find ..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 10h50   #5
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Je l'ai utilisé ailleurs pour savoir si je trouvai une donnée sur l'ensemble des lignes renseignées d'une colonne:

Code :
1
2
3
4
5
6
7
With Worksheets(1)
             Set rFound = .Range("E3:E" & lastlig1).Find(num_wo, LookIn:=xlValues)
             ' Si trouvé
             If Not rFound Is Nothing Then
                trouve = 1
             End If
        End With
Ce que je voudrai à présent, c'est me déplacer de plusieurs colonnes sur la ligne sur laquelle j'ai trouvé ma donnée et mettre un "x" dans la cellule.

Merci d'avance.
Julien.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 10h59   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
1
2
3
4
5
6
7
8
9
10
11
Dim rFound As Range
Dim LaLig As Long
 
With Worksheets(1)
    Set rFound = .Range("E:E").Find(Num_Wo, LookIn:=xlValues, lookat:=xlWhole)
    If Not rFound Is Nothing Then
        LaLig = rFound.Row
        Set rFound = Nothing
        .Range("K" & LaLig) = "X"                'On mets un X sur la cellule K de la ligne où on a trouvé Num_Wo en colonne E
    End If
End With
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 11h01   #7
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut
[Grillé]mais code différent :p[/Grillé]

Il suffit d'utiliser Offset

Code :
rFound.Offset(0,6) = "X"
++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 11h02   #8
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Merci beaucoup.
Cela me fait beaucoup avancer.
Bon week-end.
Julien.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h23.


 
 
 
 
Partenaires

Hébergement Web