• Initiateur de la discussion Initiateur de la discussion NADEGE84
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

NADEGE84

Guest
BONJOUR

J'ai besoin de votre aide concernant une fiche dites de pointage.
J'ai un document appelé ano planning récapitulant les jours travaillés, les vacances scolaires, les jours fériés et quelque date à retenir que je remet à mes intervenants j'aimerais savoir s'il est possible qu'a partir de ce document je puisse récupérer toutes les dates des jours travaillé afin de créer une fiche de pointage. actuellement je saisi manuellement toutes les dates peut-on automatisé tous sa ????
je vous transmet mon document afin de m'aider
merci
 

Pièces jointes

Re : Pointage

Bonjour à tous,

En cliquant sur le bouton COPIE !

Nota : Veuillez respecter la disposition du tableau ( colonnes - Lignes ) et le fait que seule le mercredi est pris en compte !

bonne soirée !
 

Pièces jointes

Re : Pointage

Nadege84,
le code de jbarbe se corrige comme celà

VB:
For m = 16 To 21
 If Sheets("ANO-PLANNING").Cells(m, 21).Interior.ColorIndex = 43 Then
  For n = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, n) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, n) = Sheets("ANO-PLANNING").Cells(m, 21) 'au lieu de 13
  Exit For
  Else
  n = n
  End If
  Next n
  End If
Next m
 
Re : Pointage

Bonjour à tous,

Attention de ne pas renommer les feuilles !

Si le mercredi devient le lundi, veuillez modifier les N° de colonnes dans la macro comme il a été fait ici pour le lundi

Pour accéder à la macro >>> clique droit sur le bouton "COPIE" >>>affecté à une macro >>> modifier

Code:
Option Explicit

Sub Copie()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim n As Integer
Dim o As Integer
Dim p As Integer
Dim q As Integer
Dim r As Integer
Dim s As Integer
Dim t As Integer
Dim u As Integer
Dim v As Integer
Dim w As Integer
Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Application.ScreenUpdating = False
Sheets("FICHE-DE-POINTAGE ").Range("B3:AO3").ClearContents

For i = 16 To 21
 If Sheets("ANO-PLANNING").Cells(i, 3).Interior.ColorIndex = 43 Then ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  For j = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, j) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, j) = Sheets("ANO-PLANNING").Cells(i, 3) ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  Exit For
  Else
  j = j
  End If
  Next j
  End If
Next i

For k = 16 To 21
 If Sheets("ANO-PLANNING").Cells(k, 11).Interior.ColorIndex = 43 Then ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  For l = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, l) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, l) = Sheets("ANO-PLANNING").Cells(k, 11) ' remplacer 13(mercredi) par 11 (lundi )N° de Colonne
  Exit For
  Else
  l = l
  End If
  Next l
  End If
Next k

For m = 16 To 21
 If Sheets("ANO-PLANNING").Cells(m, 19).Interior.ColorIndex = 43 Then ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  For n = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, n) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, n) = Sheets("ANO-PLANNING").Cells(m, 19) ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  Exit For
  Else
  n = n
  End If
  Next n
  End If
Next m

For o = 25 To 30
 If Sheets("ANO-PLANNING").Cells(o, 3).Interior.ColorIndex = 43 Then ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  For p = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, p) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, p) = Sheets("ANO-PLANNING").Cells(o, 3) ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  Exit For
  Else
  p = p
  End If
  Next p
  End If
Next o

For q = 25 To 30
 If Sheets("ANO-PLANNING").Cells(q, 11).Interior.ColorIndex = 43 Then ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  For r = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, r) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, r) = Sheets("ANO-PLANNING").Cells(q, 11) ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  Exit For
  Else
  r = r
  End If
  Next r
  End If
Next q

For s = 25 To 30
 If Sheets("ANO-PLANNING").Cells(s, 19).Interior.ColorIndex = 43 Then ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  For t = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, t) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, t) = Sheets("ANO-PLANNING").Cells(s, 19) ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  Exit For
  Else
  t = t
  End If
  Next t
  End If
Next s

For u = 34 To 39
 If Sheets("ANO-PLANNING").Cells(u, 3).Interior.ColorIndex = 43 Then ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  For v = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, v) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, v) = Sheets("ANO-PLANNING").Cells(u, 3) ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  Exit For
  Else
  v = v
  End If
  Next v
  End If
Next u

For w = 34 To 39
 If Sheets("ANO-PLANNING").Cells(w, 11).Interior.ColorIndex = 43 Then ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  For x = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, x) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, x) = Sheets("ANO-PLANNING").Cells(w, 11) ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  Exit For
  Else
  x = x
  End If
  Next x
  End If
Next w

For y = 34 To 39
 If Sheets("ANO-PLANNING").Cells(y, 19).Interior.ColorIndex = 43 Then ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  For z = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, z) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, z) = Sheets("ANO-PLANNING").Cells(y, 19) ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  Exit For
  Else
  z = z
  End If
  Next z
  End If
Next y

For a = 43 To 48
 If Sheets("ANO-PLANNING").Cells(a, 3).Interior.ColorIndex = 43 Then ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  For b = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, b) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, b) = Sheets("ANO-PLANNING").Cells(a, 3) ' remplacer 5 (mercredi) par 3 (lundi )N° de Colonne
  Exit For
  Else
  b = b
  End If
  Next b
  End If
Next a

For c = 43 To 48
 If Sheets("ANO-PLANNING").Cells(c, 11).Interior.ColorIndex = 43 Then ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  For d = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, d) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, d) = Sheets("ANO-PLANNING").Cells(c, 11) ' remplacer 13 (mercredi) par 11 (lundi )N° de Colonne
  Exit For
  Else
  d = d
  End If
  Next d
  End If
Next c

For e = 43 To 48
 If Sheets("ANO-PLANNING").Cells(e, 19).Interior.ColorIndex = 43 Then ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  For f = 2 To 40
   If Sheets("FICHE-DE-POINTAGE ").Cells(3, f) = "" Then
   Sheets("FICHE-DE-POINTAGE ").Cells(3, f) = Sheets("ANO-PLANNING").Cells(e, 19) ' remplacer 21 (mercredi) par 19 (lundi )N° de Colonne
  Exit For
  Else
  f = f
  End If
  Next f
  End If
Next e

Application.ScreenUpdating = True

End Sub

bonne journée !
 

Pièces jointes

Dernière édition:
Re : Pointage

Bon, modifier la macro n'est pas facile !

De fait, en tenant compte que le 1er Mois ( ici septembre 2015 dans le fichier) doit impérativement comporter au moins, une journée de travail afin de repérer le jour de travail ( Lundi dans le fichier)!

bonne journée !
 

Pièces jointes

Re : Pointage

salut

en nommant les douze plages, on peut raccourcir la macro (ici, évènementielle par exemple).
Mais tu ne dis pas comment tu gère les noms ! Et ça ...
VB:
Private Sub Worksheet_Activate()
  Dim P As Range, C As Byte, R As Range
  [B3:ZZ3] = ""
  For m = 1 To 12
    Set P = Feuil1.Range("à" & m)
    C = Cells(3, Columns.Count).End(xlToLeft).Column + 1
    For Each R In P
      If R <> "" And R.Interior.ColorIndex = 43 Then Cells(3, C) = R: C = C + 1
    Next
  Next
End Sub

nota : fichier plus léger en enlevant l'onglet image
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Autres Planning
Réponses
8
Affichages
272
Réponses
12
Affichages
1 K
E
Réponses
10
Affichages
2 K
excelraideo
E
M
Réponses
6
Affichages
930
A
Réponses
11
Affichages
1 K
A
P
Réponses
2
Affichages
2 K
piou14
P
T
  • Question Question
Réponses
0
Affichages
973
ThidPiloup
T
Réponses
21
Affichages
5 K
F
Réponses
7
Affichages
3 K
Fibule86
F
Retour