Report donnees planning

MISTERJUNGLE

XLDnaute Occasionnel
Re_Bonjour,

je pense mettre mal expliqué
sur mon planning se trouve une période de "CP" que j’insère manuellement,serait il possible de faire le report sur la feuille de la personne concerne (LUC....) ,avec la date en colonne "A" et le texte "CP" dans la colonne "F"
merci de votre aide pour me mettre sur la piste (macro)

bonne et heureuse année 2014
 

Pièces jointes

  • PLANG EXCEL DOWNL.zip
    166.5 KB · Affichages: 73
Dernière édition:

MISTERJUNGLE

XLDnaute Occasionnel
Re : Report donnees planning

Merci néné06,
cela fonctionne très bien sur la page que j'ai simplifié, par contre je n'arrive pas a l’intégrer sur ma page qui contient déjà plusieurs petites macros. car je commande les "AT,MAL,CP.." par bouton et je sélectionne le mois en cours pour réduire ma page
je te met un les quelques macros.merci

Option Explicit
Private Sub AT_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 9 Else If Selection.Interior.ColorIndex = 9 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "AT"
ActiveCell.Offset(0, 1).Select
End Sub

Private Sub CFO_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 12 Else If Selection.Interior.ColorIndex = 12 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "CFO"
ActiveCell.Offset(0, 1).Select
End Sub

Private Sub CMP_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 7 Else If Selection.Interior.ColorIndex = 7 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "CMP"
ActiveCell.Offset(0, 1).Select
End Sub

Private Sub CommandButton10_Click()
UserForm1.Show
End Sub

Private Sub CommandButton11_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 3 Else If Selection.Interior.ColorIndex = 3 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "STD+N"
ActiveCell.Offset(0, 1).Select
End Sub

Private Sub CommandButton15_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 3 Else If Selection.Interior.ColorIndex = 3 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "NUIT"
ActiveCell.Offset(0, 1).Select
End Sub

Private Sub CommandButton2_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 3 Else If Selection.Interior.ColorIndex = 3 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "SAM+N"
ActiveCell.Offset(0, 1).Select
End Sub

Private Sub CP_Click()
If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 4 Else If Selection.Interior.ColorIndex = 4 Then Selection.Interior.ColorIndex = xlNone
ActiveCell.FormulaR1C1 = "CP"
ActiveCell.Offset(0, 1).Select
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$A$4" Then Exit Sub

Application.ScreenUpdating = False
Columns("B:NB").Hidden = True
Select Case Target
Case "Année complète"
Columns("B:NB").Hidden = False
Case "Janvier"
Columns("B:AF").Hidden = False
Case "Février"
Columns("AG:BH").Hidden = False
Case "Mars"
Columns("BI:CM").Hidden = False
Case "Avril"
Columns("CN:DQ").Hidden = False
Case "Mai"
Columns("DR:EV").Hidden = False
Case "Juin"
Columns("EW:FZ").Hidden = False
Case "Juillet"
Columns("GA:HE").Hidden = False
Case "Août"
Columns("HF:IJ").Hidden = False
Case "Septembre"
Columns("IK:JN").Hidden = False
Case "Octobre"
Columns("JO:KS").Hidden = False
Case "Novembre"
Columns("KT:LW").Hidden = False
Case "Décembre"
Columns("LX:NB").Hidden = False
End Select
Application.ScreenUpdating = True
End Sub

Private Sub choix_mois_Click()
 

néné06

XLDnaute Accro
Re : Report donnees planning

Bonsoir le Forum, bonsoir MisterJungle.

Si tu pouvais nous faire parvenir une PJ avec les codes que tu as placés, mais sans donnée confidentielle, perso, pour moi , se serait plus facile et je pense aussi pour les autres Xld.
Le fait de placer tes codes, m'incite à trop "me creuser la tête" pour découvrir exactement ce que tu souhaites.
Une PJ, même qui plante, est beaucoup plus parlante pour moi .

A te relire

René
 

néné06

XLDnaute Accro
Re : Report donnees planning

Bonsoir MISTERJUNGLE,

Lorsque j'ouvre ton fichier, il plante, car tu as deux fois "Private Sub Worksheet_Change"


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B6:AF50")) Is Nothing Then
onglet = Cells(x, 1)
lejour = Format(Cells(4, y), "dd/mmmm/yyyy")
Sheets(onglet).Cells(y + 2, 6) = Cells(x, y)
Sheets(onglet).Cells(y + 2, 1) = lejour
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$4" Then Exit Sub
Application.ScreenUpdating = False
Columns("B:NB").Hidden = True
Select Case Target
Case "Année complète"
Columns("B:NB").Hidden = False
Case "Janvier"
Columns("B:AF").Hidden = False
Case "Février"
Columns("AG:BH").Hidden = False
Case "Mars"
Columns("BI:CM").Hidden = False
Case "Avril"
Columns("CN:DQ").Hidden = False
Case "Mai"
Columns("DR:EV").Hidden = False
Case "Juin"
Columns("EW:FZ").Hidden = False
Case "Juillet"
Columns("GA:HE").Hidden = False
Case "Août"
Columns("HF:IJ").Hidden = False
Case "Septembre"
Columns("IK:JN").Hidden = False
Case "Octobre"
Columns("JO:KS").Hidden = False
Case "Novembre"
Columns("KT:LW").Hidden = False
Case "Décembre"
Columns("LX:NB").Hidden = False
End Select
Application.ScreenUpdating = True
End Sub


Tu peux essayer comme ceci.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B6:AF50")) Is Nothing Then
onglet = Cells(x, 1)
lejour = Format(Cells(4, y), "dd/mmmm/yyyy")
Sheets(onglet).Cells(y + 2, 6) = Cells(x, y)
Sheets(onglet).Cells(y + 2, 1) = lejour
End If
If Target.Address <> "$A$4" Then Exit Sub
Application.ScreenUpdating = False
Columns("B:NB").Hidden = True
Select Case Target
Case "Année complète"
Columns("B:NB").Hidden = False
Case "Janvier"
Columns("B:AF").Hidden = False
Case "Février"
Columns("AG:BH").Hidden = False
Case "Mars"
Columns("BI:CM").Hidden = False
Case "Avril"
Columns("CN:DQ").Hidden = False
Case "Mai"
Columns("DR:EV").Hidden = False
Case "Juin"
Columns("EW:FZ").Hidden = False
Case "Juillet"
Columns("GA:HE").Hidden = False
Case "Août"
Columns("HF:IJ").Hidden = False
Case "Septembre"
Columns("IK:JN").Hidden = False
Case "Octobre"
Columns("JO:KS").Hidden = False
Case "Novembre"
Columns("KT:LW").Hidden = False
Case "Décembre"
Columns("LX:NB").Hidden = False
End Select
Application.ScreenUpdating = True
End Sub

Je n'arrive pas à tester car tu as des références que je n'ai pas installées sur mon Excel.

Testes et dis-nous

A+

René
 

néné06

XLDnaute Accro
Re : Report donnees planning

Re,


As tu bien laissé les déclarations "Public" et le "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" ??

Public x, y As Long
Public onglet As String
Public lejour As Date

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Row
y = ActiveCell.Column
End Sub


Le "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" te donnes la position de la ligne et de la colonne selectionnée .
Si tu l'as enlevé, X=0 donc ligne = 0 et provoque une erreur !

A+

René
 

MISTERJUNGLE

XLDnaute Occasionnel
Re : Report donnees planning

Re_néné06,
oui j'ai bien mis les déclarations "public"
Public x, y As Long
Public onglet As String
Public lejour As Date

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Row
y = ActiveCell.Column
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B6:AF50")) Is Nothing Then
onglet = Cells(x, 1)
lejour = Format(Cells(4, y), "dd/mmmm/yyyy")
Sheets(onglet).Cells(y + 2, 6) = Cells(x, y)
Sheets(onglet).Cells(y + 2, 1) = lejour
End If
If Target.Address <> "$A$4" Then Exit Sub
Application.ScreenUpdating = False
Columns("B:NB").Hidden = True
Select Case Target
Case "Année complète"
Columns("B:NB").Hidden = False
Case "Janvier"
Columns("B:AF").Hidden = False
Case "Février"
Columns("AG:BH").Hidden = False
Case "Mars"
Columns("BI:CM").Hidden = False
Case "Avril"
Columns("CN:DQ").Hidden = False
Case "Mai"
Columns("DR:EV").Hidden = False
Case "Juin"
Columns("EW:FZ").Hidden = False
Case "Juillet"
Columns("GA:HE").Hidden = False
Case "Août"
Columns("HF:IJ").Hidden = False
Case "Septembre"
Columns("IK:JN").Hidden = False
Case "Octobre"
Columns("JO:KS").Hidden = False
Case "Novembre"
Columns("KT:LW").Hidden = False
Case "Décembre"
Columns("LX:NB").Hidden = False
End Select
Application.ScreenUpdating = True
End Sub

mais il me bloque sur "Private Sub Worksheet_SelectionChange"
ci joint une capture
merci
 

Pièces jointes

  • Erreur de Compilation 2.zip
    44.6 KB · Affichages: 28

MISTERJUNGLE

XLDnaute Occasionnel
Re : Report donnees planning

Re_néné06,
me voila, ta formule marche bien.elle s'enregistre bien sur la feuille concernée,par contre lorsque je supprime un"CP" créer auparavant,il me conserve la date sur la feuille horaire? Comment faire pour quelle soit supprimé automatiquement
PJ_merci
 

Pièces jointes

  • PLANG EXCELDOWN.zip
    180.8 KB · Affichages: 23

néné06

XLDnaute Accro
Re : Report donnees planning

Re,

J'ai rajouté "If Cells(x, y) = "" Then Sheets(onglet).Cells(y + 2, 1) = "" " dans le Private Sub Worksheet_Change(ByVal Target As Range), qui efface la date.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B6:AF50")) Is Nothing Then

onglet = Cells(x, 1)
lejour = Format(Cells(4, y), "dd/mmmm/yyyy")
Sheets(onglet).Cells(y + 2, 6) = Cells(x, y)
Sheets(onglet).Cells(y + 2, 1) = lejour
If Cells(x, y) = "" Then Sheets(onglet).Cells(y + 2, 1) = ""

End If
End Sub


Regardes si c'est OK ?

A+

René
 

Pièces jointes

  • Copie de PLANG EXCELDOWN.xlsm
    555 KB · Affichages: 55

MISTERJUNGLE

XLDnaute Occasionnel
Re : Report donnees planning

Bonsoir néné06,
voila de retour a la maison, c'est encore super.
par contre comment ce fait il que sur mon planning, quand je le prévois par "cycle" il n'en tient pas compte, même si les cellules
changent ? il faut que je réinscrive par dessus pour la prise en compte
 

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia