Positionner ligne adresse

Résolu/Fermé
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021 - 6 déc. 2021 à 12:09
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021 - 7 déc. 2021 à 16:58
Bonjour,

Je sèche...
J'ai un fichier adresse et cherche les villes, que j'arrive à selectionner.

Cependant le voudrais que la premiere adresse trouvé s'affiche en ligne A2 de ma liste avec la suite.

Ex : je tape "Tou" mon fichier ce positionne en A2 sur le premier élément "Tou" trouvé.

Merci de vous pencher sur mon problème

Cordialement

https://www.cjoint.com/c/KLglfK1NiV6
A voir également:

9 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
6 déc. 2021 à 15:42
Bonjour ,

en masquant les lignes;

En vba à mettre dans le module de la feuille Liste tout en haut:

Option Explicit
Dim nom As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("H3")) Is Nothing Then
nom = Target.Value
For_X_to_Next_Ligne
End If
End Sub
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Liste")
    NoCol = 1 'lecture de la colonne A
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
        If Var = nom Then
        Rows("2:" & NoLig - 1).EntireRow.Hidden = True 'masque lignes
        End If
    Next
    Set FL1 = Nothing
End Sub
Sub afficher() 'associer à un bouton ou raccourci clavier
Cells.EntireRow.Hidden = False 'affiche lignes
End Sub

0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
6 déc. 2021 à 17:25
Bonsoir,

Bien reçu, j'ai fais un copie/collé dans un module activé par un bouton "Afficher"
Cependant rien ne se passe
La macro tourne et rien?

Je suis novice en VBA

Pour compléter mon explication j'avais trouver une solution par 2 lien Hypertexte

En "I1"
ADRESSE(EQUIV(H3;A2:A500;0)+1;1)

En "J1"
Lien qui me descendais cellule A1000

En "H1"
SI($H$3<>"";LIEN_HYPERTEXTE("#"&$I$1);$A$1)
qui remontait sur la cellule recherchée

J'ai chercher à lier les deux lien mais pas facile en VBA

Merci de regarder mon problème que je souhaitait effectuer en un clic

Je reste à ton écoute

Je prends toutes solutions

Merci
A+
0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
6 déc. 2021 à 17:47
Re Bonsoir

J'ai trouvé pour ta macro super je saisie ma recherche, je valide et on masque les éléments précédents
donc je suis bien sur le premier élément trouvé.
Mais,
Pour revenir à l'ensemble des éléments ? je dois demander à Excel de m'afficher les éléments précédents.

Celà répond partiellement car je dois pouvoiir consulter l'ensemble des du fichier.
Merci de ta réponse
A+
0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
6 déc. 2021 à 18:10
Encore moi,

Si je tape une ville inconnue la macro boucle et plante ligne 855

SI tu peux tester.

Merci encore

Bonne soirée
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
6 déc. 2021 à 18:46
Pour revenir à l'ensemble des éléments ?

Sub afficher() 'associer à un bouton ou raccourci clavier
Cells.EntireRow.Hidden = False 'affiche lignes
End Sub


Si je tape une ville inconnue la macro boucle et plante ligne 855


modifier cette macro, comme ceci:

Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Liste")
    NoCol = 1 'lecture de la colonne A
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
        If Var = nom Then
        Rows("2:" & NoLig - 1).EntireRow.Hidden = True 'masque lignes
        Else
        MsgBox "Nom inconnu!", vbCritical, "Recherche"
        Exit Sub
        End If
    Next
    Set FL1 = Nothing
End Sub


@+
0

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

Posez votre question
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
6 déc. 2021 à 19:01
Super on avance
Cependant systematique j'ai le message d'erreur
un "X recherche inconnue"
Alors que la recherche est valide
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
6 déc. 2021 à 19:05
Pour l'heure je ne vois pas. Supprimer la modification
0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
6 déc. 2021 à 19:14
Ok Pas de problème

Passes une bonne soirée

Merci encore de ton intervention

Demain est un autre Jour

Bye
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 déc. 2021 à 10:56
Essaie ceci:

Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Liste")
    NoCol = 1 'lecture de la colonne A
    On Error Resume Next
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
        If Var = nom Then
        Rows("2:" & NoLig - 1).EntireRow.Hidden = True 'masque lignes
        End If
    Next
    Set FL1 = Nothing
End Sub


@+
0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
7 déc. 2021 à 14:31
Bonjour

Tout fonction bien sauf si je tape une ville non connu

La macro boucle... jusqu'a la igne 855
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 7 déc. 2021 à 15:40
comme ceci:

Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Liste")
    NoCol = 1 'lecture de la colonne A
    Application.ScreenUpdating = False
    On Error Resume Next
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
        If Var = nom Then
        Rows("2:" & NoLig - 1).EntireRow.Hidden = True 'masque lignes
        If NoLig = 100 Then Exit For ' a adapter
        End If
    Next
    Set FL1 = Nothing
    Application.ScreenUpdating = True
End Sub


a la place de 100, tu peux mettre la dernière ligne utilisée:

https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/

Dim derligne As Long
derligne = Cells(Rows.Count, "A").End(xlUp).Row



@+
0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
Modifié le 7 déc. 2021 à 16:37
Excuses-moi de te répondre si tard

Sur une ville inconue

La macro efface une centaine de ligne
Un message de debogage
Erreur d'executiion7
Mémoire insuffisante
Ligne
nom = Target.Value

De plus les lignes avant 100 ne sont pas affichées
Je dois faire un "affiche"

Avec ton nouveau Dim derligne.....
le programme s'arret sur (x1Up)
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 déc. 2021 à 16:25
Cela fonctionne chez moi!

Voir le classeur à télécharger

https://www.cjoint.com/c/KLhpyusJIv1

@+
0
AlainOt Messages postés 9 Date d'inscription lundi 6 décembre 2021 Statut Membre Dernière intervention 7 décembre 2021
7 déc. 2021 à 16:58
Effectivement ça fonctionne
Sur tes conseilles, je vois pour me repositionner sur la dernière cellule utilisé

Je te remercie de ton travailles celà me fait gagner du temps

Sur ce site je ne vos pas de coche "problème résolu"

Bonne soirée

Très cordialement

AlainOt
0