Recherche sur plusieurs colonnes

Si cela ne te dérange pas Amadeus, j'aimerais bien.

Merci bcp en tout cas du temps que tu passes là dessus.

Bonjour à tous,

raphi69,

Ton manque d'intérêt à mon dernier message me laisse perplexe !

mais bon, comme j'avais commencé à regarder ...

Encore un excellent exercice de VBA, où à chaque ligne on cherche la colonne "mois" correspondante.

Sub Mensuel()
Dim Lg%, i%, cL%, Couleur%, A As Byte
'Macros par Claude Dubois pour "raphi69" Excel-Pratique le 12/10/10
            Application.ScreenUpdating = False
    With Sheets("Calendrier Saison")
            cL = WorksheetFunction.Match(Range("a3"), .Range("a4:ah4"), 0)
            Range("c4:c43").Interior.ColorIndex = xlNone
            Range("c4:c43").ClearContents
            A = cL
        For i = 5 To 43
            If Cells(i, 2) <> "" Then

            '--- En + cherche fin du mois précédent et début mois suivant ---
                If cL <> 1 And cL <> 34 Then
                    Select Case Cells(i, 2)
                        Case Is < Range("a2"): A = cL - 3
                        Case Is > Range("b2"): A = cL + 3
                        Case Else: A = cL
                    End Select
                End If

                If cL = 1 Then '-- août (début saison)
                    Select Case Cells(i, 2)
                        Case Is > Range("b2"): A = cL + 3
                        Case Else: A = cL
                    End Select
                End If

                If cL = 34 Then '-- juillet (août + 11 mois)
                    Select Case Cells(i, 2)
                        Case Is < Range("a2"): A = cL - 3
                        Case Else: A = cL
                    End Select
                End If
            '-----
                    On Error Resume Next
                Lg = WorksheetFunction.Match(Cells(i, 2), .Columns(A), 0)
                    On Error GoTo 0
                If Lg > 0 Then
                    Cells(i, 3) = .Cells(Lg, A + 2) 'texte
                    Couleur = .Cells(Lg, A + 2).Interior.ColorIndex
                    Cells(i, 3).Interior.ColorIndex = Couleur
                End If
            End If
        Next i
    End With
            Range("c5:c43").Rows.AutoFit
End Sub

Amicalement

Claude

Désolé Claude mais je n'avais pas eu le temps de regarder ton travail.

Ca correspond vraiment à ce que je veux faire sauf que du coup je ne peux plus trop modifier ma feuille Calendrier Coléo.

De plus j'aurais bien aimé récupérer la couleur sur le jour

Merci en tout cas pour tout le travail que tu fais.

Bonjour

Nouveau fichier à tester

Cordialement

41horaires-v4.zip (30.46 Ko)

re raphi69, Bonjour Amadéus,

sauf que du coup je ne peux plus trop modifier ma feuille Calendrier Coléo.

Tu veux sans doute parler des N° de lignes et colonnes invisibles,

petite macro (va et vient) activée par un bouton et valable sur n'importe quelle feuille

avec en tête de module:

Option Explicit
Public Ecran As Boolean

puis la macro

Sub AfficheNumLignes()
    With ActiveSheet
        If Ecran = True Then
            ActiveWindow.DisplayHeadings = True
            Ecran = False
        Else
            ActiveWindow.DisplayHeadings = False
            Ecran = True
        End If
    End With
End Sub

Vois nouveau fichier avec couleur sur les jours

Amicalement

Claude

Claude,

Merci bcp pour tout le travail accompli. Tu te rapproches de plus en plus de ce que je veux.

Par contre est il possible que la macro n'agrandisse pas la hauteur de ligne sur planning et que les évènement sur deux lignes dans calendrier ne soit que sur une ligne dans planning.

D'avance merci.

Bonjour,

Sur la dernière ligne de la macro "Mensuel" remplace cette ligne :

Range("c5:c43").Rows.AutoFit

par :

Range("c5:c43").WrapText = False

----- feuille "Calendrier Saison" -----

tu conserve le format cellule avec l'option "Renvoyer à la ligne automatiquement" cochée,

par contre dans la barre de formule tu devrais voir (exemple février en U21)

quelque chose d'elle

au lieu de

"quelque chose
d'elle"

Ne pas faire de retour chariot à l'écriture.

Bonne journée

Claude

Un grand merci Claude.

Si jamais j'ai d'autres adaptations, puis je te solliciter ?

Bonsoir,

Si Ok, pour solder le poste, c'est ici

en cas de problème, reviens et retire le résolu de la même manière

a resolu2

Voilà c'est fait !!!!!

-- 18 Oct 2010, 23:28 --

Claude,

Je savais bien que j'aurais encore besoin de toi !!!!!

Je suis en train de faire ma feuille planning à ma sauce sauf que si je veux mettre à la suite les 52 semaines, la macro ne marche que pour 8 à 10 semaines. Que faire pour que cela marche sur la durée ?

Dès que je travaille sur les lignes autour des semaines, elles passent à gauche et impossible de les remettre au milieu comme tu l'avais fait. Pourquoi ?

Si je fais une troisième feuille où j'aurai sûrement besoin de la même macro, va t'elle marcher sur n'importe quelle feuille ou que serai je obligé de faire pour que ça marche ?

D'avance merci de tes réponses.

Je te remets en pièces jointes, l'état d'avancement de mon fichier pour que tu comprennes ce que je veux dire car je m'explique sûrement très mal pour toi.

Claude,

Penses tu que cela est possible ? Ou dois je faire avec celle que tu m'as fait?

Bonsoir,

Tu cherche à compliquer une macro déjà pas simple !

cela ne doit pas être impossible, mais je ne m'y risquerais pas !

si tu mets les 52 semaines sur la feuille "Planning", la feuille "Calendrier" devient inutile,

autant remplir directement dans le "Planning"

Une nouvelle macro ne ferait que d'afficher à l'écran le mois sélectionné,

cette solution serait même + simple, mais c'est un tout autre programme.

à toi de voir !

tu parles d'autres feuilles, ce serait quoi ?

----------- Pour ta gouverne -----------

Sache qu'il faut 24h entre 2 messages consécutifs pour que le sujet remonte,

c'est pourquoi je n'ai pas vu passer ton précédent qui est passer en "Editer".

Réfléchis bien en pesant le pour et le contre

Amicalement

Claude

Claude,

J'ai bien compris ta réponse et depuis je réfléchissais à une autre solution.

Je suis obligé d'avoir une feuille calendrier où j'ai ce qui se passe sur un an et une feuille planning plus pour moi qui me permets de faire les horaires. Du coup, je suis un peu bloqué par ça.

Ma question du jour est la suivante. Si dans une cellule à côté de l'évènement que je rentre dans le calendrier je mets une lettre (type M pour montage, V pour vacances, S pour spectacles....) qui serait recopiée dans le planning, est il possible de faire une macro pour que la couleur se mette automatiquement en fonction de cette lettre.

Si tu remarques bien, mon code de couleur est écrit en bas de la feuille calendrier ( Gris pour montage, Rose pour vacances, Bleu pour spectacle....)

Merci d'avance pour ta réponse.

Bonsoir à tous,

Comme dit + haut, le calendrier et le planning de 52 semaines font double emploi

et double gestion, je ne ferais rien dans ce sens !

Maintenant, si on reste sur le planning précédent (1 mois),

on peut automatiser les couleurs dans le calendrier.

Précise

Claude

Je suis désolé mais je ne vois pas le double emploi car dans l'un, je le donne à tout le monde pour savoir ce qui se passe dans la salle sur l'ensemble de l'année alors que l'autre, il s'agit d'un planning que je dois éditer à l'année donc sur 52 semaines et de ce planning découlera tout un tas d'autres feuilles.

Donc voilà pourquoi je suis obligé d'aller dans cette optique et que pour moi, ça ne fait pas doublon.

Maintenant, je comprendrais très bien que tu ne veuilles pas réfléchir à ça vu tout ce que tu as fais pour moi.

Il faut vraiment que je me mettes au macro pour éviter de solliciter les gens.

En tout cas merci de tout ce que tu as fait

Bonjour à tous,

Je passe la main, désolé !

Amicalement

Claude

Rechercher des sujets similaires à "recherche colonnes"