Trier un TCD à partir d'autre cellule et ajouter des données

re,

Code couleur :

Dans VBA, remplace les 3 lignes ci-dessous dans la macro couleur comme suit :

Sub couleur()
'Macro Dan pour wise3
Dim coul As Long
....
coul = .Range(ActiveCell.Address).Interior.Color
.....
Sheets("Feuil2").Range("A" & lg & ":Q" & lg).Interior.Color = coul
....
End Sub

Je vais voir pour le reste

Crdlt

re,

Pour le point 2 et le PS2, modifie les code Sub majdate() et Sub majCom() comme suit :

.....
With Worksheets("TCD")
    For Each cel In .Range("C5:C" & .Range("C" & Rows.Count).End(xlUp).Row)
        On Error Resume Next
        If cel Then
        On Error GoTo 0
....

A te relire

Bonjour Dan,

voilà j'ai appliqué les modifs demandées au code. Pour la couleur IMPEC maintenant.

Reste le point 3 qui à mon avis est difficile à mettre en œuvre.

Afin d'éviter toutes erreurs, j'ai de nouveau remis le fichier modifié.

Bien à vous

12start5.xlsm (44.98 Ko)

re,

essaie en modifiant le code Sub Couleur comme suit :

.....
lg = ...
If Sheets("Feuil2").Range("P" & lg) = .Range("B1") Then
   Sheets("Feuil2").Range("A" & lg & ":Q" & lg).Interior.Color = coul
ElseIf .Range("B1") = "(Tous)" Then
   Sheets("Feuil2").Range("A" & lg & ":Q" & lg).Interior.Color = coul
End If
Set c = ....
.....

A te relire

Crdlt

Bonjour Dan,

çà fonctionne .

Puis je vous demander ce que je dois mettre pour que cela soit fait aussi pour MajDate et MajCom?

Génial BRavo, je ne sais quoi dire...

re

Pour les deux autres sub tu pars sur le meme principe :

Sub majdate()
....
lg = ....
If Sheets("Feuil2").Range("P" & lg) = .Range("B1") Then
    Sheets("Feuil2").Range("O" & lg) = .Range("K1").Value
    ElseIf .Range("B1") = "(Tous)" Then
    Sheets("Feuil2").Range("O" & lg) = .Range("K1").Value
End If
Set c....

Pour la sub majcom, tu places le code ci-avant aussi dans la sub majcom mais en remplaçant le O par la lettre Q et bien sûr la lettre K par M.

A te relire

Re,

Merci Dan, j'ai adapté le code à MajDate et MajCom suivant conseil et cela fonctionne

Seule la "couleur" sans remplissage n'agit pas selon B1(Je ne l'ai pas remarqué avant). Le code étant différent je ne vois pas comment l'adapter car si je reprends le code pour la couleur il y a la "variable" lg" dedans qui n'est pas là avec le code sans remplissage.

Enfin, si je fais une multiselection en B1 là le code ne fonctionne plus, pourtant dans le code c'est mis =B1 ou =Tous... On ne peut pas également se contenter de rajouter une ligne avec "plusieurs éléments" car comment le code va deviner que c'est Aout 13 et Dec 13 ou plus qui sont sélectionnés?

Bien à vous,

Re,

wise3 a écrit :

Seule la "couleur" sans remplissage n'agit pas selon B1(Je ne l'ai pas remarqué avant). Le code étant différent je ne vois pas comment l'adapter car si je reprends le code pour la couleur il y a la "variable" lg" dedans qui n'est pas là avec le code sans remplissage.

Pour faire ce que tu demandes, il te suffit de supprimer ou mettre une petite apostrophe devant l'instruction

If Not Application.Intersect(ActiveCell, .Range("L1")) Is Nothing Then Sheets("Feuil2").Cells.Interior.ColorIndex = -4142: Exit Sub
wise3 a écrit :

Enfin, si je fais une multiselection en B1 là le code ne fonctionne plus, pourtant dans le code c'est mis =B1 ou =Tous... On ne peut pas également se contenter de rajouter une ligne avec "plusieurs éléments" car comment le code va deviner que c'est Aout 13 et Dec 13 ou plus qui sont sélectionnés?

Là, ben faut repartir à zéro et recommencer tout le code

Re,

Ok pour la ligne correspondant à aucun remplissage à supprimer. C'est OK.

Concernant la multi selection en B1, je n'oserais pas vous redemander de refaire tous le code, ce serait indécent de ma part . Je ferai en sélectionnant B1 un par un. Après tout c'est de ma faute, dans ma tête au départ je parlais de retranscrire la selection du TCD dans la Feuill2 et on s'est basé à partir de la cellule Current Sim. Si j'avais mis dès le départ mes conditions avec B1 ceci aurait été plus simple pour vous. Vous avez en tout cas fait ENORMEMENT pour moi et vous en remercie. Je découvre toutes les possibilités avec VBA ds Excel (Même si je sais que je n'ai pas l'esprit programmation et donc que ce serait très difficile pour moi de coder)

Merci encore pour ce forum qui montre qu'il y a encore des personnes qui aident les autres et cela sans attendre un retour quelconque.

Au plaisir de vous relire.

Bien à vous,

Rechercher des sujets similaires à "trier tcd partir ajouter donnees"