Afficher un résultat en fonction de la cellule active

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ruliann

XLDnaute Occasionnel
bonjour

sur la colonne A de la feuille1, j'ai une liste de 50 noms.

dans la cellule B1 de la feuille1, j'aimerais qu'apparaisse le numéro de téléphone du nom sur lequel je clique (la cellule active quoi)

avez-vous une idée?
 
Re : Afficher un résultat en fonction de la cellule active

c'est vrai dsl

voici un fichier exemple (la case surlignée en jaune est celle ou doit apparaitre le numero de telephone)

je n'ai pas de contrainte pour les numero de téléphone : je peux les mettre en colonne Z de la fauille 1 ou en colonne z de la feuille 2, peu importe

merci,
 
Dernière édition:
Re : Afficher un résultat en fonction de la cellule active

Bonjour le fil, bonjour le forum,

Si toi tu n'as pas de contrainte pour les numéros de téléphone, le code VBA lui en a, Malin !
D'ailleurs j'ai remonté d'une ligne les numéro de téléphone dans ton exemple pour que le code ci-dessous fonctionne. Sinon tu adapteras avec les Offset...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)

DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A)
Set PL = Range("A4:A" & DL) 'définit la plage PL
If Application.Intersect(Target, PL) Is Nothing Then 'condition : si la sélection est en dehors de la plage PL
    Range("B1").Value = "" 'vide la cellule B1
Else 'sinon
    Range("B1") = Target.Offset(0, 20) 'affiche le numéro de téléphone dans la cellule de la colonne décalée de 20 colonnes vers la droite
End If 'fin de la condition
End Sub
 
Re : Afficher un résultat en fonction de la cellule active

Bonjour le fil, bonjour le forum,

Si toi tu n'as pas de contrainte pour les numéros de téléphone, le code VBA lui en a, Malin !
D'ailleurs j'ai remonté d'une ligne les numéro de téléphone dans ton exemple pour que le code ci-dessous fonctionne. Sinon tu adapteras avec les Offset...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)

DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A)
Set PL = Range("A4:A" & DL) 'définit la plage PL
If Application.Intersect(Target, PL) Is Nothing Then 'condition : si la sélection est en dehors de la plage PL
    Range("B1").Value = "" 'vide la cellule B1
Else 'sinon
    Range("B1") = Target.Offset(0, 20) 'affiche le numéro de téléphone dans la cellule de la colonne décalée de 20 colonnes vers la droite
End If 'fin de la condition
End Sub

merci pour ta réponse Robert

le hic c'est qu'elle est un poil un peu trop balèze pour moi à retranscrire dans mon fichier d'origine (dont la mise en page est moins simple que celle que le fichier test)
du coup je suis pommé ds les mises à jours du code

faut que je réfléchisse à un moyen de vs adresser un nouveau fichier, dont la mise en page se rapproche de mon fichier (ahhh si je pouvais balancer le vrai fichier!) mais non 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
408
Réponses
3
Affichages
123
Retour