XL 2013 cellules liées

stef12345

XLDnaute Nouveau
Bonjour,
est-il possible de lier plusieurs cellules et de n'afficher que la dernière cellule remplie.
pour exemple la cellule A1 serait liée à B1; C1; D1....
lorsque j'écris sur B1 cela apparait sur A1 mais je voudrais que lorsque j'écris sur C1 cela remplace le texte en A1 sans effacer celui sur B1
Merci de votre aide
 
Solution
Bonjour,

Pour exemple et amusement en A1: =INDEX(2:2;1;MAX(SIERREUR(EQUIV("zzzzzzzzzzzz";2:2;1);1);SIERREUR(EQUIV(9^9;2:2;1);1)))
Où Equiv "zzzzzzzzzzzz" recherche une valeur textuelle improbable dans la ligne
et Equiv 9^9 recherche une valeur numérique improbable dans la ligne
Max permet de renvoyer la valeur la plus éloignée;

Ceci dit il n'est jamais bon de référencer toute une ligne ou toute une colonne inutilement. Vous pouvez mettre à la place de 2:2 : $A$2:$AN2 par exemple.

Cordialement

Fred0o

XLDnaute Barbatruc
Bonjour stef12345

c'est possible en passant par une macro évènementielle. Voici le code a mettre sur la feuille concernée (Clic-droit sur le nom de la feuille, puis visualiser le code, ensuite coller le code fourni)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B1:D1]) Is Nothing Then
        [A1] = Target
    End If
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Pour exemple et amusement en A1: =INDEX(2:2;1;MAX(SIERREUR(EQUIV("zzzzzzzzzzzz";2:2;1);1);SIERREUR(EQUIV(9^9;2:2;1);1)))
Où Equiv "zzzzzzzzzzzz" recherche une valeur textuelle improbable dans la ligne
et Equiv 9^9 recherche une valeur numérique improbable dans la ligne
Max permet de renvoyer la valeur la plus éloignée;

Ceci dit il n'est jamais bon de référencer toute une ligne ou toute une colonne inutilement. Vous pouvez mettre à la place de 2:2 : $A$2:$AN2 par exemple.

Cordialement
 

stef12345

XLDnaute Nouveau
Bonjour stef12345

c'est possible en passant par une macro évènementielle. Voici le code a mettre sur la feuille concernée (Clic-droit sur le nom de la feuille, puis visualiser le code, ensuite coller le code fourni)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B1:D1]) Is Nothing Then
        [A1] = Target
    End If
End Sub
Impeccable merci beaucoup Fred0o
 

Fred0o

XLDnaute Barbatruc
Bonjour Roblochon

Tu n'es pas invisible, en tout cas par pour moi et ta formule est très intéressante. Dans ce genre de cas, je passe toujours par du code, ce qui est peut être superflu.

Ne te grattes pas trop fort ! :D
 

stef12345

XLDnaute Nouveau
Bonjour,

Pour exemple et amusement en A1: =INDEX(2:2;1;MAX(SIERREUR(EQUIV("zzzzzzzzzzzz";2:2;1);1);SIERREUR(EQUIV(9^9;2:2;1);1)))
Où Equiv "zzzzzzzzzzzz" recherche une valeur textuelle improbable dans la ligne
et Equiv 9^9 recherche une valeur numérique improbable dans la ligne
Max permet de renvoyer la valeur la plus éloignée;

Ceci dit il n'est jamais bon de référencer toute une ligne ou toute une colonne inutilement. Vous pouvez mettre à la place de 2:2 : $A$2:$AN2 par exemple.

Cordialement
Désolé Roblochon, ta solution me convient également en fait je pense même qu'elle est plus adaptée par rapport à ce que je veut faire en fonction de mes compétences sur excel donc un grand merci.
 

stef12345

XLDnaute Nouveau
Bonjour stef12345
Je vois bien que tu as validé une réponse, mais ne suis pas vraiment certain qu'elle soit celle dont tu avais besoin ...
Rergarde ce qui se passe en saisissant "toto" en B1, "titi" en C1, puis "tata" en B1.
Bonjour Jmfmarques
en fait avec la solution de Roblochon fonctionne comme je le souhaite.
pour mon cas une fois la case modifiée je ne revient pas dessus se sont en fait des successions de date qui matérialise des actions, donc il me faut la dernière date de l'action réalisée sans perdre la trace de celle qui ont été faite auparavant ( je ne sais pas si c'est clair ),
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

donc il me faut la dernière date de l'action réalisée
est différent de la demande initiale :

est-il possible de lier plusieurs cellules et de n'afficher que la dernière cellule remplie.
et qui pouvait être interprétée de deux façons :
1 - dernière cellule remplie dans le temps
2 - dernière cellule physique remplie

j'ai choisi la deuxième interprétation, plus facile à résoudre que la première.

Et pour ceux qui sont plus royaliste que le roi, qu'ils s'y collent...

Cordialement
 

stef12345

XLDnaute Nouveau
Re,


est différent de la demande initiale :


et qui pouvait être interprétée de deux façons :
1 - dernière cellule remplie dans le temps
2 - dernière cellule physique remplie

j'ai choisi la deuxième interprétation, plus facile à résoudre que la première.

Et pour ceux qui sont plus royaliste que le roi, qu'ils s'y collent...

Cordialement
comme je l'ai dit précédemment ta solution me convient totalement..
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Si vous n'avez pas de cellules textuelles dans votre plage de cellules alors la partie EQUIV("zzzzzzzzzzzz";2:2;1);1) devient inutile.
Ne conserver que index(plage; 1;EQUIV(9^9;plage;1)) ou:
SIERREUR(INDEX(Plage;1;EQUIV(9^9;Plage;1));"")
SiERREUR n'étant là que s'il n'y a aucune donnée dans la plage.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 130
dernier inscrit
FRCRUNGR