Code suppression ligne

Bonjour à tous et merci d'avance pour votre aide. Voilà ce que souhaiterais faire dans un classeur excel:

  • supprimer les lignes de la page 1, dont la cellule de la colonne 2 est de couleur verte
  • afficher la date du jour dans une cellule
  • Supprimer les lignes de la page 2, dont la cellule fusionnée colonne 2 est de couleur grise. Je précise que la cellule de la colonne 2 est fusionnée et correspond donc à plusieurs lignes.
J'espère avoir été clair dans mon explication....

Salut Florent83,

Voilà déjà une première solution à adapter à ton cas:

Dans une boucle FOR Lig NEXT où ColorIndex=le code couleur VERT standard (à toi de vérifier ton code couleur!)

If Range("B" & Lig).Interior.ColorIndex = 43 Then Rows(Lig).Delete

Pour afficher la date du jour, deux méthodes :

  • par formule dans le cellule même : = AUJOURDHUI()
  • par VBA : Range("A1").Value = Date

C'est déjà un bon début!

A+

Ok merci j'essaie ca

Tout d'abord merci pour ces éléments.

Par contre est ce que créer une macro "mise à jour" que je pourrai associer à un bouter et qui permettrait de mettre à jour la date sur les 3 feuilles?

D'autre part le code couleur dont tu parles est le code hexa?

Bonsoir Florent,

pour ce qui est de l'affichage de la date, je viens d'ajouter la ligne suivante au Bouton,

Feuil2.Range("A1").Value = Date
Feuil3.range("A1").value=date

et ça donne le résultat escompté (tu peux même taper "Date + 1' ou "Date - 25", ça marche aussi!)

Quant au code couleur, il ne correspond qu'à la palette de couleurs STANDARD (elles apparaissent dans la fenêtre de dialogue quand tu veux choisir une couleur de remplissage ou d'écriture).

Pour connaître ce code, tape dans ton Bouton : Range("A1").value = Range("POSITION DE LA CELLULE A TESTER").Interior.ColorIndex...

mais applique d'abord à ta cellule cible une couleur STANDARD.

A+ pour d'autres précisions.

Je suis désolé mais il suffit donc d'écrire ce code dans un nouveau module c'est bien ca?

C'est ce que je viens de faire, j'ai commencer par écrire le code VBA pour la mise à jour de la date et ca ne fonctionne pas.

Je sais que je pars de loin...de très loin!


Ca y est ca fonctionne, j'ai utilisé l'enregstreur automatique de macro pour copier le début et la fin de la macro, à l'intérieur de quoi j'ai placé le code pour la date et ca fonctionne. Voici le code complet:

Sub majdate()

'

' majdate Macro

' Permet de mettre à jour la date

'

'

Range("A2").Value = Date

End Sub

Salut Florent,

pardon, j'ai peut-être pris trop de raccourcis pour t'expliquer tout ça!

Tout dépend de la manière avec laquelle ces suppressions de ligne et de mise à jour de la date doivent se faire.

  • automatique suite à un changement de valeur ou de date?
  • manuel via un bouton ?

Que ce soit automatique ou manuel, il faudra vraisemblablement créer une macro dans le module.

Pour cela INSERTION MODULE puis dans le module INSERTION PROCEDURE que tu nommes selon son objectif et tu y écris le code souhaité.

Si tu veux qu'une macro démarre par un Bouton de commande, INSERER dans le ruban et tu choisis un bouton que tu places sur ta feuille. Le fait de le placer te permettra de choisir directement la macro à associer à ce bouton (les procédures déjà écrites dans le module).

Bonne digestion!

A+, avec plaisir!

Super ca fonctionne.

Quel est le code pour demander d'insérer ce "commentaire" dans une cellule fusionnée?

Merci.

Salut Florent,

je ne comprends pas trop ce que veut dire "insérer un commentaire" dans la cellule fusionnée...

Il me semble qu'il fallait supprimer également des lignes dont la colonne 2 avait des cellules fusionnées...

Peux-tu joindre le fichier avec ce que tu veux que je comprenne de visu?

A+

Rechercher des sujets similaires à "code suppression ligne"