Changer dans une colonne la dernière cellule remplie

Résolu/Fermé
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017 - 31 juil. 2017 à 22:39
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017 - 2 août 2017 à 22:50
Bonjour,

Voila, j'ai une demande pour laquelle qui je l’espère vous pourrez m'aider.

J'aimerais changer de couleur la dernière cellule remplie d'une colonne et une fois qu'elle ne l'ai plus la repasser sans couleur.

J'espère avoir été claire et que vous pourrez m'aider car je n'arrive pas à résoudre mon problème.

Par avance merci

A voir également:

5 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
31 juil. 2017 à 23:09
Bonjour,

Je ne pense pas qu'on puisse utiliser directement une MFC (mise en forme conditionnelle).

Voici une solution en 2 étapes :
1. Détecter le numéro de ligne de dernière cellule non vide de la colonne (même s'il y a des cellules vides au-dessus) avec la formule matricielle suivante placée dans une cellule (par exemple en B1) :
=EQUIV(2;1/NON(ESTVIDE(A:A)))
et validée par Maj+Ctrl+Entrée

2. Utiliser une MFC avec une formule qui fait référence à cette cellule :
=LIGNE()=$B$1
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié le 31 juil. 2017 à 23:17
Bonjour,

Bienvenue sur le forum
Tu peux l'obtenir avec une mise en forme conditionnelle.
Si ta colonne A est alphabétique tu mets la formule
=LIGNE()=EQUIV("zz";$A:$A;1)

Si ta colonne B est numérique tu mets la formule
=LIGNE()=EQUIV(9^9;$B:$B;1)


Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.  Antoine de Saint-Exupéry
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
1 août 2017 à 09:11
Bonjour Yorick064,

Après avoir essayer cela ne correspond pas tout a fait à mes attentes.
Sans doute que ton essai n'a pas été effectué avec les bonnes règles car regardes si cela ne correspond pas à ta description : rentres d'autres nombres et tu verras ta couleur évoluer.

https://www.cjoint.com/c/GHbhjWXCaTl
1
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
Modifié le 1 août 2017 à 13:01
Une dernière requête, dans mon tableau j'ai les dates inversées. Je n'arrive pas à inverser le sens des couleurs avec ta mise en forme conditionnelle
0
steve > Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
1 août 2017 à 12:20
As-tu lu mon message de 4:02 ? as-tu essayé le fichier inclus ? quel est ton avis ?
0
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
1 août 2017 à 13:38
Salut Steve, Je l'ai essayer et c'est exactement ce que j'aimerais faire mais je ne sais comment le réaliser car je n'ai jamais creer de macro
0
steve > Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
1 août 2017 à 14:39
 
1) Seuls les fichiers *.xlsm peuvent contenir des macros, donc si ton fichier Excel
a déjà l'extension .xlsm, c'est ok ; mais si c'est un *.xlsx, voici ce qu'il faut faire :
a) ouvre ton fichier .xlsx ; appuie sur F12 => fenêtre « Enregistrer sous » ; sous le
nom de fichier, dans la liste "Type :", choisis : "Classeur Excel (prenant en charge
les macros)" ; b) enlève "Copie de " qui a été ajouté automatiquement devant le
nom de fichier et clique sur le bouton « Enregistrer » => ton fichier est converti
en *.xlsm ; le fichier d'origine *.xlsx existe toujours ; avant de l'effacer, vérifie
d'abord que ton fichier *.xlsm est ok.

---------------------------------------------------

2) Dans ton nouveau fichier *.xlsm :

a) Alt F11 => fenêtre "Microsoft Visual Basic" ; Alt i m => ça insère un module,
nommé Module1 ; sur la page vierge à droite, c'est là que tu dois copier / coller
mon code VBA ; je te le mets ci-dessous pour te faciliter la tâche :


Option Explicit

Private Sub Job(n As Byte)
  Dim dcol As Integer, dlig As Long, col As Integer, lig As Long
  dcol = Cells(1, Columns.Count).End(xlToLeft).Column
  dlig = Range("A" & Rows.Count).End(xlUp).Row
  Range([B2], Cells(dlig, dcol)).Interior.ColorIndex = -4142
  If n = 2 Then Exit Sub
  For col = 2 To dcol
    For lig = 2 To dlig
      If Cells(lig, col) > 0 Then
        Cells(lig, col).Interior.Color = RGB(234, 241, 221)
        Exit For
      End If
    Next lig
  Next col
End Sub

Sub SetColor()
  Job 1
End Sub

Sub ClrColor()
  Job 2
End Sub


Alt F11 => retour sur ta feuille Excel

b) Dernière étape, ajouter 2 raccourcis-clavier : Alt F8 => fenêtre « Macro » ;
sélectionne "SetColor" ; clique sur le bouton « Options... » ; dans la petite case, entre le caractère c et dans la grande case met ce texte (par copier / coller) :
"^c - met la couleur" ; clic sur le bouton « OK » ; sélectionne "ClrColor" ; bouton
« Options... » ; caractère e ; description macro : "^e - efface la couleur" ; bouton
« OK » ; ferme la fenêtre ; tu peux faire comme avec mon fichier Ctrl c et Ctrl e.

Remarque : les descriptions ne sont pas obligatoires, c'est juste plus sympa
pour l'utilisateur qui fait Alt F8 ; « ^c » se lit Ctrl c (c'est juste une abréviation)
et Alt Gr 9 (celui de la touche ç) => caractère « ^ ».

Tu peux me demander plus d'infos si besoin.  ;)
 
0
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
1 août 2017 à 15:28
Super ca fonctionne j'ai juste changer le numéro de ma ligne et de ma colonne car ce ne sont pas les 2 mais les d'active.

Mais un petit soucis c'est ajouter a cela. Une donné que je n'avais pas fournit car je ne pensais pas que cela serait important mais avec cette macro cela en devient une. J'ai pour que mon tableau soit plus esthétique a regarder, plus facile a lire et moins fatiguant pour les yeux une mise en forme avec une colonne sur 2 de coloré. une fois la macro en fonction, cela m'a enlevé mes couleur a mes colonnes.

Sais tu si il est possible et comment garder ces couleur? Et en changeant les cases concerner par du bleu foncer et une écriture jaune. Tant qu'a faire j'abuse encore un peu de ton savoir.

Par avance merci

Steve
0
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
1 août 2017 à 00:32
Merci pour vos réponse aussi rapide.
Après avoir essayer cela ne correspond pas tout a fait à mes attentes. Je me suis surement mal exprimer dans ma recherche. Je vais tenter de mieux m'expliquer.

Dans mon tableau j'ai sur sur la première ligne la date du jour, en face de celle ci, j'ai donc 1type de matériel par colonne et donc le nombre vendu par cellule de la ligne par colonne(ex pour une ligne: 13/07/2017; colonne 1 (perceuse sans fil) 1 ; colonne 2 (visseuse sans fil) 2;...) . Si rien vendu ce jour, je ne mets rien dans la cellule pour éviter de m'encombrer avec trop de chiffre.
Sur la deuxième ligne, j'ai donc la date d'hier puis le nombre d'achat par type dans la colonne adéquate.
et ainsi de suite. J'aimerais pouvoir savoir quand a été acheté pour la dernière fois chaque type de matériel. Et cela en coloriant la cellule de la dernière fois ou j'ai remplie la cellule de chaque colonne. (Ex: si ma colonne 1 je n'ai eu un achat que le 21/06, j'aimerai que la cellule ou j'ai eu la vente se colorie)
Forcement si je l'ai pour une colonne, il me sera facile de le reproduire pour les autres.
En espérant avoir été plus clair cette fois-ci.
Par avance merci pour votre aide
0
 
Bonjour Yorick,

Fichier Excel 2007 : https://mon-partage.fr/f/JgstSWUH/

Ctrl c : met la couleur ; Ctrl e : efface la couleur

Tu peux faire uniquement Ctrl c car c'est inutile d'effacer la couleur avant ;
c'est si tu veux voir les couleurs ponctuellement que tu peux utiliser Ctrl e
après avoir visualisé les quantités colorées des dernières dates.

NB : d'après ton énoncé, les dates sont en ordre chronologique inverse
=> la date la plus récente (= date du jour) est en 1er, donc en haut.

La dernière colonne à droite et la dernière ligne en bas sont détectées
automatiquement => tu n'as aucune adaptation à faire si tu ajoutes
une colonne à droite ou une ligne au-dessus de la ligne 2.

⚠  La ligne 1 doit rester une ligne d'en-têtes, et je pense que tu en as
déjà mise une (pour savoir quel est le matériel de la colonne).

Alt F11 pour voir la macro, puis revenir sur Excel.

Merci de me dire si ça te convient.

Cordialement
 
0

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

Posez votre question
Yorick064 Messages postés 9 Date d'inscription lundi 31 juillet 2017 Statut Membre Dernière intervention 2 août 2017
Modifié le 1 août 2017 à 10:58
Bonjour Messieurs

Après quelques heures de sommeil, je vous remercie tous grandement car toute vos solutions fonctionnent. La fatigue ne m'aidait pas à les réaliser correctement.

Merci Beaucoup.
0