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
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.
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
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.
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
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.
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.
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.
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 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 ),
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.