Recherche d'un nom dans un tableau. Affichage de l'indice
2 réponses
Jean-mi
Bonjour,
Quelqu'un peut-il m'aider =E0 r=E9soudre mon probl=E8me?=20
J'ai stock=E9 un ensemble de 9 noms
dans un tableau =E0 2 dimensions (de A3 =E0 C3).
Je souhaiterais comparer une variable nom=E0chercher avec=20
les valeurs du tableau et afficher le ou les (en
cas de doublons) indices de ces variables dans le tableau.=20
Je souhaiterais faire une boucle sur les
MsgBox (avec Compteur plac=E9 =E0 la fin) et indiquer le (ou=20
les) indice(s) de ces noms dans le tableau.
Est-ce possible ?
Voici mes instructions :
nom=E0chercher=3DInputBox("Entrez un nom")
For Each Cells(ligne, colonne) in Worksheets
(1).Range"A3:C3")
If Cells(ligne, colonne).Value=3Dnom=E0chercher Then
Compteur=3DCompteur+1
ligne=3Dligne+1
colonne=3Dcolonne+1
MsgBox("Le(s) nom(s) " & nom=E0chercher & " figure(nt) dans=20
ce tableau =E0 l'indice " & _
"(" & (ligne & "," & colonne)) & "(", ,Compteur
End If
Next
J'ai cherch=E9 longtemps sans succ=E8s.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonjour Jean Michel, Deux petites choses :
A3:C3 est une plage de 3 cellules sur la même ligne ; est ce bien ce que tu veux ?
Avec les instructions : ligne=ligne+1 colonne=colonne+1 tu te déplaces en diagonale dans ta feuille et te retrouve donc vite en dehors de la plage définie sans parcourir systématiquement ton tableau. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Jean-mi" a écrit dans le message de news:03b301c3c79c$a1a6bab0$ Bonjour, Quelqu'un peut-il m'aider à résoudre mon problème? J'ai stocké un ensemble de 9 noms dans un tableau à 2 dimensions (de A3 à C3). Je souhaiterais comparer une variable nomàchercher avec les valeurs du tableau et afficher le ou les (en cas de doublons) indices de ces variables dans le tableau. Je souhaiterais faire une boucle sur les MsgBox (avec Compteur placé à la fin) et indiquer le (ou les) indice(s) de ces noms dans le tableau. Est-ce possible ? Voici mes instructions : nomàchercher=InputBox("Entrez un nom") For Each Cells(ligne, colonne) in Worksheets (1).Range"A3:C3") If Cells(ligne, colonne).Value=nomàchercher Then Compteur=Compteur+1 ligne=ligne+1 colonne=colonne+1 MsgBox("Le(s) nom(s) " & nomàchercher & " figure(nt) dans ce tableau à l'indice " & _ "(" & (ligne & "," & colonne)) & "(", ,Compteur End If Next J'ai cherché longtemps sans succès.
Bonjour Jean Michel,
Deux petites choses :
A3:C3 est une plage de 3 cellules sur la même ligne ; est ce bien ce que tu veux ?
Avec les instructions :
ligne=ligne+1
colonne=colonne+1
tu te déplaces en diagonale dans ta feuille et te retrouve donc vite en dehors de la plage définie sans
parcourir systématiquement ton tableau.
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jean-mi" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:03b301c3c79c$a1a6bab0$a401280a@phx.gbl...
Bonjour,
Quelqu'un peut-il m'aider à résoudre mon problème?
J'ai stocké un ensemble de 9 noms
dans un tableau à 2 dimensions (de A3 à C3).
Je souhaiterais comparer une variable nomàchercher avec
les valeurs du tableau et afficher le ou les (en
cas de doublons) indices de ces variables dans le tableau.
Je souhaiterais faire une boucle sur les
MsgBox (avec Compteur placé à la fin) et indiquer le (ou
les) indice(s) de ces noms dans le tableau.
Est-ce possible ?
Voici mes instructions :
nomàchercher=InputBox("Entrez un nom")
For Each Cells(ligne, colonne) in Worksheets
(1).Range"A3:C3")
If Cells(ligne, colonne).Value=nomàchercher Then
Compteur=Compteur+1
ligne=ligne+1
colonne=colonne+1
MsgBox("Le(s) nom(s) " & nomàchercher & " figure(nt) dans
ce tableau à l'indice " & _
"(" & (ligne & "," & colonne)) & "(", ,Compteur
End If
Next
J'ai cherché longtemps sans succès.
A3:C3 est une plage de 3 cellules sur la même ligne ; est ce bien ce que tu veux ?
Avec les instructions : ligne=ligne+1 colonne=colonne+1 tu te déplaces en diagonale dans ta feuille et te retrouve donc vite en dehors de la plage définie sans parcourir systématiquement ton tableau. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Jean-mi" a écrit dans le message de news:03b301c3c79c$a1a6bab0$ Bonjour, Quelqu'un peut-il m'aider à résoudre mon problème? J'ai stocké un ensemble de 9 noms dans un tableau à 2 dimensions (de A3 à C3). Je souhaiterais comparer une variable nomàchercher avec les valeurs du tableau et afficher le ou les (en cas de doublons) indices de ces variables dans le tableau. Je souhaiterais faire une boucle sur les MsgBox (avec Compteur placé à la fin) et indiquer le (ou les) indice(s) de ces noms dans le tableau. Est-ce possible ? Voici mes instructions : nomàchercher=InputBox("Entrez un nom") For Each Cells(ligne, colonne) in Worksheets (1).Range"A3:C3") If Cells(ligne, colonne).Value=nomàchercher Then Compteur=Compteur+1 ligne=ligne+1 colonne=colonne+1 MsgBox("Le(s) nom(s) " & nomàchercher & " figure(nt) dans ce tableau à l'indice " & _ "(" & (ligne & "," & colonne)) & "(", ,Compteur End If Next J'ai cherché longtemps sans succès.
AV
A choisir : le type de msgbox....
Sub Cherche_zzz_Epéééérdument() laVar = "zzz" Dim PremCell As String Dim Cell As Range Set Cell = [A3:C3].Find(laVar) If Not Cell Is Nothing Then PremCell = Cell.Address Do MsgBox Cell.Address Set Cell = [A3:C3].FindNext(Cell) x = x & Cell.Address & vbLf x = x Loop Until Cell.Address = PremCell End If MsgBox x End Sub
AV
A choisir : le type de msgbox....
Sub Cherche_zzz_Epéééérdument()
laVar = "zzz"
Dim PremCell As String
Dim Cell As Range
Set Cell = [A3:C3].Find(laVar)
If Not Cell Is Nothing Then
PremCell = Cell.Address
Do
MsgBox Cell.Address
Set Cell = [A3:C3].FindNext(Cell)
x = x & Cell.Address & vbLf
x = x
Loop Until Cell.Address = PremCell
End If
MsgBox x
End Sub
Sub Cherche_zzz_Epéééérdument() laVar = "zzz" Dim PremCell As String Dim Cell As Range Set Cell = [A3:C3].Find(laVar) If Not Cell Is Nothing Then PremCell = Cell.Address Do MsgBox Cell.Address Set Cell = [A3:C3].FindNext(Cell) x = x & Cell.Address & vbLf x = x Loop Until Cell.Address = PremCell End If MsgBox x End Sub