[vba excel]trouver une variable dans une plage variable

LABUCHE

XLDnaute Junior
Bonjour
Afin de mettre en place un planning sous excel pour des equipe de travail qui travaille en decalé je suis a la recherche d'un formule assez special
voila il se trouve que j'ai trois brigades dans un restaurant qui travaille 4 jours consecutifs et ont 2 jours de repos quelque soit le jours de semaines
j'ai un debut de code mais je but un peu...
dans mon code je prends le 30 novembre ( en format nombre ex 39416)comme date de reference et toutes les brigades doivent s 'indexer
ci joint mon fichier qui tourne uniquement pour le mois de decembre

j'aimerai pouvoir quelque soit le mois entrer en a1 avoir les r indiquant le repos pour chaques brigades
 

jeanpierre

Nous a quitté
Repose en paix
Re : [vba excel]trouver une variable dans une plage variable

Bonsoir LABUCHE, Matthieu,

Pourquoi mettre un .RAR, alors que windows propose le fichier compressé en Format ZIP...

Clic droit sur le fichier et Envoyer vers/Dossier compressé.......

Cela limite les possibilités....
 

LABUCHE

XLDnaute Junior
Re : [vba excel]trouver une variable dans une plage variable

bonsoir matthieu33
merci pour ton aide mais le fichier mit en piece jointe fais apparaitre des numero de tel et autre sms....:confused:

moi de mon cote j'ai avance un petit peu ...
je te joins mon fichier j'ai encore un petit souci avec la mise en place des r

si tu teste avec 01/06/08 il me manque des r pour la j2 et la j3 en fin de mois :eek:
et j'ai des r qui efface les noms des personnes qui travaille dans la j2 et j3 :eek:
 

Pièces jointes

  • resto.zip
    47 KB · Affichages: 45
  • resto.zip
    47 KB · Affichages: 55
  • resto.zip
    47 KB · Affichages: 49

LABUCHE

XLDnaute Junior
Re : [vba excel]trouver une variable dans une plage variable

un grand merci a toi Banzai64
ton code est d'une simplicité et surtout trés efficace !!!
je te remercie beaucoup non seulement il tourne mais en plus je suis tranquille jusqu'en 2099 trop fort ton systeme de date !!!!
j'ai pas tout compris mais j'ai remarqué que mes jours sont bien définis selon le mois alors que moi j' avais mis en place une macro afin de stopper l' incrementation des jours ( moi avant j' effacais le tous les colonnes superieur au dernier jours du mois en cours ...)

j'avais un petit decalage de r avec la j1 ( le premier jour de decembre elle est en deuxieme jours de repos et l'ordre de repos est j3-j2-j1 )

alors j'ai modifié
Code:
ton CDate("01/11/2007") en CDate("02/12/2007")
puis j'ai modifié
Code:
Tablo(1) = 1       en  Tablo(1) = 5 
Tablo(2) = 5       en  Tablo(2) = 1
voila mes r sont bien Synchronisés dans mon planing !!!!!

j'ai juste une autre question au sujet du mois choisi
si je doit rajouter un autre groupe sous la j3
comment dois-je le lier avec ton code ? c avec tablo() je crois ....
 

Banzai64

XLDnaute Accro
Re : [vba excel]trouver une variable dans une plage variable

Bonjour

Modifies le code

Code:
Option Explicit

Sub repos()
Dim I As Byte
Dim J As Byte
Dim Indice As Byte
Dim NbJours As Long
Dim Tablo([COLOR="Red"]4[/COLOR]) As Byte
Tablo(0) = 3
Tablo(1) = 5
Tablo(2) = 1
[COLOR="red"][SIZE="2"]Tablo(3) = (entre 1 et 6)[/SIZE][/COLOR]  

Range("E5:AI11,E16:AI22,E27:AI33[COLOR="red"][SIZE="2"],E38:AI44[/SIZE][/COLOR]").ClearContents

  NbJours = DateDiff("d", CDate("02/12/2007"), Range("A1"))
  For I = 0 To [COLOR="red"][SIZE="2"]3[/SIZE][/COLOR]
    Indice = Tablo(I) + NbJours Mod 6
    If Indice > 6 Then Indice = Indice Mod 6
    For J = 5 To 36
      If Cells(3, J) <> "" Then
        If Indice = 1 Or Indice = 2 Then
          Range(Cells(5 + (11 * I), J), Cells(11 + (11 * I), J)) = "R"
        End If
      Else
        Exit For
      End If
      Indice = Indice + 1
      If Indice = 7 Then Indice = 1
    Next J
  Next I
End Sub

En principe cela devrait aller
En gardant le même intervalle de ligne entre les groupes
 

Discussions similaires

Réponses
20
Affichages
863

Statistiques des forums

Discussions
312 502
Messages
2 089 047
Membres
104 011
dernier inscrit
dfr