Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche 1ere cellule contenant le texte

6 réponses
Avatar
ManBas
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne "activecell".

Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.

6 réponses

Avatar
Daniel
Bonsoir.
Range("A" & c.Row).Select
Exit for
Cordialement.
Daniel
"ManBas" a écrit dans le message de news:
uhK$
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne
"activecell".

Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.




Avatar
ManBas
Bonsoir Daniel,
Merci pour ton aide.
Avec ta suggestion tout baigne!
C'est le petit détail qui fait que ça marche ou pas!
A bientôt
"Daniel" a écrit dans le message de news:
%
Bonsoir.
Range("A" & c.Row).Select
Exit for
Cordialement.
Daniel
"ManBas" a écrit dans le message de news:
uhK$
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne
"activecell".

Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.








Avatar
ManBas
Surprise!!!

Avec le code suivant:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
'Application.ScreenUpdating = False
For Each c In Selection
c.Value = NomPatient
Range("A" & c.row).Select
Exit For
Next c
End Sub

L'activecell ne se déplace pas vers la valeur trouvée.
La valeur trouvée est copiée-collée sur la première cellule du range, ce qui
modifie les données du tableur, et c'est cette première cellule qui devient
l'activecell!!!
Je ne vois vraiment pas quelle ligne de code commande ça!!!
Qu'en penses-tu?
"Daniel" a écrit dans le message de news:
%
Bonsoir.
Range("A" & c.Row).Select
Exit for
Cordialement.
Daniel
"ManBas" a écrit dans le message de news:
uhK$
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne
"activecell".

Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.








Avatar
docm
Bonsoir.

Voici comment sélectionner la cellule trouvée et arrêter la bouche FOR...
NEXT.

For Each c In Selection
If c.Value = NomPatient Then
c.Select
Exit For
End If
'??? comment dire arrête-toi sur la première cellule pour la rendre
activecell"?
Next c

Salutations.

docm
"ManBas" a écrit dans le message news:
uhK$
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne
"activecell".


Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.




Avatar
ManBas
Bonjour DOCM,
Merci +++ pour ton aide: ça tourne bien cette fois.
Toujours ce détail qui fait que, sans lui, ça foire quelque part...
Pourquoi y avait-il copie sur la première cellule?

"docm" a écrit dans le message de news:
OweBUI%
Bonsoir.

Voici comment sélectionner la cellule trouvée et arrêter la bouche FOR...
NEXT.

For Each c In Selection
If c.Value = NomPatient Then
c.Select
Exit For
End If
'??? comment dire arrête-toi sur la première cellule pour la rendre
activecell"?
Next c

Salutations.

docm
"ManBas" a écrit dans le message news:
uhK$
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne
"activecell".


Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.








Avatar
Daniel
Bonjour.
c.Value = NomPatient => la valeur de la cellule prend la valeur de
NomPatient.
Ton code initial donnait :
If c.Value = NomPatient Then
Range("A" & c.row).Select
Exit For
end if
Cordialement.
Daniel
"ManBas" a écrit dans le message de news:

Surprise!!!

Avec le code suivant:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
'Application.ScreenUpdating = False
For Each c In Selection
c.Value = NomPatient
Range("A" & c.row).Select
Exit For
Next c
End Sub

L'activecell ne se déplace pas vers la valeur trouvée.
La valeur trouvée est copiée-collée sur la première cellule du range, ce
qui modifie les données du tableur, et c'est cette première cellule qui
devient l'activecell!!!
Je ne vois vraiment pas quelle ligne de code commande ça!!!
Qu'en penses-tu?
"Daniel" a écrit dans le message de news:
%
Bonsoir.
Range("A" & c.Row).Select
Exit for
Cordialement.
Daniel
"ManBas" a écrit dans le message de news:
uhK$
Bonsoir les amis,

Mon but:
-rechercher un nom dans la colonne A,
-quand ce nom est trouvé, arrêter la recherche sur la 1ere cellule qui
contient ce nom (homonymes ++) afin que cette cellule devienne
"activecell".

Voilà ce que j'ai écrit, sans savoir le terminer:
Private Sub RechercheNom_Click()
Range("A2:A" & Range("A65536").End(xlUp).Row).Select
NomPatient = InputBox("Taper le nom patronymique" _
& " que vous recherchez:")
Application.ScreenUpdating = False
For Each c In Selection
If c.Value = NomPatient Then
'??? comment dire arrête-toi sur la première cellule pour la rendre
"activecell"?
Next c
End Sub

Merci de vos conseils.