Sélectionner cellule x, y ou z, si remplie

cephalotus

XLDnaute Occasionnel
Bonjour a tous,

Je cherche, je cherche et aucune solution.

Ce que j'ai:
cellule F14, i14, k14

Ce que je voudrais:
je voudrais récupérer l'information d'une de ces trois cellules, mais seulement la dernière remplie.

F14 est remplie, je prends l'info de la cellule F14
F14 et I14 sont remplies , je prends l'info de la cellule I14
Si F14, I14 et K14 sont remplies , je prends l'info de la cellule K14

Merci par avance pour vos réponses et solutions :)
 

Lone-wolf

XLDnaute Barbatruc
Re

En attendant ta réponse, voici un exemple

VB:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim celB As Range, celF As Range, celI As Range, celK As Range

    Set celB = [B4]: Set celF = [F14]
    Set celI = [I14]: Set celK = [K14]

    If Not Intersect(Target, Range("g14")) Is Nothing And Target.Count = 1 Then
        If celF <> "" Then celB = celF.Value
    End If

    If Not Intersect(Target, Range("j14")) Is Nothing And Target.Count = 1 Then
        If celI <> "" Then celB.ClearContents: celB = celI.Value
    End If

    If Not Intersect(Target, Range("l14")) Is Nothing And Target.Count = 1 Then
        If celK <> "" Then celB.ClearContents: celB = celK.Value
    End If

End Sub

Utilise TAB du clavier pour te déplacer.
 

laetitia90

XLDnaute Barbatruc
re, lone :):)
la sub sert seulement pour connaitre pour info la der... cellule remplie des 3 cells concernées un petit :rolleyes: +!!
vu que l'on sait pas ce qu'il veut faire exact...
il veut l' adresse!!!!! ou la valeur!!!!! on sait pas:eek:
on peut manipuler une var... public bien sûr ;)
 

laetitia90

XLDnaute Barbatruc
re, merci l'amie DoubleZero:):):):) pour le lien ....bisous

perso a mon avis vaut mieux laisser a la fin ??? si on trouve pas son bonheur ou pas de réponse:)

ce que j'ecrivais il y a 10 ans .....aujourdui je l'ecrirais forcement differa.... experience oblige :rolleyes::rolleyes: en restant trés modeste donc les "vieux" posts:confused::confused:
par contre c'est sûr.... vba depuis 10 ans pratiquement pas d 'evolution..... merci billou:mad::mad::mad:
 

cephalotus

XLDnaute Occasionnel
Re

En attendant ta réponse, voici un exemple

VB:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim celB As Range, celF As Range, celI As Range, celK As Range

    Set celB = [B4]: Set celF = [F14]
    Set celI = [I14]: Set celK = [K14]

    If Not Intersect(Target, Range("g14")) Is Nothing And Target.Count = 1 Then
        If celF <> "" Then celB = celF.Value
    End If

    If Not Intersect(Target, Range("j14")) Is Nothing And Target.Count = 1 Then
        If celI <> "" Then celB.ClearContents: celB = celI.Value
    End If

    If Not Intersect(Target, Range("l14")) Is Nothing And Target.Count = 1 Then
        If celK <> "" Then celB.ClearContents: celB = celK.Value
    End If

End Sub

Utilise TAB du clavier pour te déplacer.

Bonjour Lone-Wolf,

Merci pour ta réponse.

Est-il possible de faire cela avec une formule, car je suis un bricoleur en Excel, ce qui veut dire que la VBA je connais, mais je connais juste le nom !

Merci pour ta réponse.
 

cephalotus

XLDnaute Occasionnel
Bonjour cephalotus :), le Forum :)



Je suis un peu étonné, parce-que c'est tout simple à première vue.


Oui mais où, quelle feuille, quelle cellule??? :rolleyes:

Et si tu mettais un fichier exemple pour voir vraiment ce que tu veux obtenir.


Bonjour Lone-Wolf,

Voici le fichier.

Donc, ce que je voudrais, et si possible en formule pour que je puisse le refaire :

J'ai des feuilles de 11 a 23.
Je voudrais récupérer les infos des colonnes F, I et K des lignes 1(12/18) a 20 (145/151), et les reporter dans ma feuille 007 aux emplacements correspondants :

Colonne A (11 a 23)
ligne 1 (1 a 17)

J'espère avoir été clair

Merci par avance pour vos réponse :)
 

Pièces jointes

  • Copie de formation - EN COURS2 - test-1.xlsx
    214.1 KB · Affichages: 24

job75

XLDnaute Barbatruc
Bonsoir cephalotus, Lone-wolf, Laetitia, chère ânesse,

Effectivement ce n'est guère compliqué, pour répondre au post #1 voici la formule :
Code:
=SI(NBVAL(K14);K14;SI(NBVAL(I14);I14;SI(NBVAL(F14);F14;"")))
Ci-joint le fichier du post #12 avec la formule adaptée.

Il n'est pas génial car les colonnes I et K sont vides dans toutes les feuilles.

A+
 

Pièces jointes

  • formation - EN COURS2 - test(1).xlsx
    224.8 KB · Affichages: 26

job75

XLDnaute Barbatruc
Re,

Noter que la formule renvoie la dernière valeur quel que soit son type.

Si l'on veut le dernier nombre il suffit de remplacer NBVAL par ESTNUM.

En utilisant la commande Remplacer (Ctrl+H).

Cette commande m'a beaucoup servi pour remplir le tableau.

A+
 

cephalotus

XLDnaute Occasionnel
Bonjour Job75,

Ta formule fonctionne a merveille :)


Malheureusement, je n'arrive pas a faire fonctionner la formule avec le vrai nom de mes feuille.
J'ai tenté le contrôle+H, et de le faire avec une fichier texte (laborieux), ça marche, mais seulement sur la première ligne de mon tableau.

Je ne comprends pas. il est vrai que la dernière fois que j'ai utilisé Excel c'était le 2013.
Je viens de t'envoyer un message en privé.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG