corvelc
XLDnaute Occasionnel
Bonjour,
Grace à vos conseils , j'ai bien avancé sur mon developpement, mais j'ai encore besoin d'aide pour pouvoir finaliser.
mes 2 besoins : (si besoin toutes les explications détaillées avec images dans le fichier de test)
Point 1 : lors de l'alimentation de mon tableau, pouvoir créer 4 lignes par Tcollaborateur au lieu d'une seule actuellement.
mon code :
Private Sub Worksheet_Change(ByVal Target As Range)
'**************************************************
' alimentation des cellules
'**************************************************
If Target.Address(0, 0) = "B2" Then
If Not IsEmpty("B2") Then
Dim manager As String, c As Range
manager = Range("B2").Value
'Eviter les calculs inutiles et rappel en boucle de l'évènement change
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False 'Figer l'écran
'Vider la liste actuelle
Me.ListObjects("tcollaborateurs").DataBodyRange.Delete (xlShiftUp)
'Parcourir la liste des managers de effectif
For Each c In Sheets("BD effectif").Range("teffectifs[Manager]").Cells
'si occurence trouvée
If LCase(c) = LCase(manager) Then
'rajouter une ligne au tableau collaborateur
'*** comment ajouter 4 lignes par Tcollaborateur ***"
With Me.ListObjects("tcollaborateurs").ListRows.Add
.Range(1, 1) = c(1, -4)
.Range(1, 2) = c(1, -3)
.Range(1, 3) = c(1, -1)
.Range(1, 4) = c(1, 0)
.Range(1, 5) = c(1, 2)
End With
End If
Next
'Rétablir les paramètres d'application
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True 'Figer l'écran
End If
End If
End Sub
Point 2 :
-comment alimenter la première zone de ma combobox avec la valeur de la cellule selectée qui lance la combobox tout en laissant la possibilité de choisir dans la liste imbriquée créée. détail dans mon fichier
Merci d'avance pour l'aide
CC
Grace à vos conseils , j'ai bien avancé sur mon developpement, mais j'ai encore besoin d'aide pour pouvoir finaliser.
mes 2 besoins : (si besoin toutes les explications détaillées avec images dans le fichier de test)
Point 1 : lors de l'alimentation de mon tableau, pouvoir créer 4 lignes par Tcollaborateur au lieu d'une seule actuellement.
mon code :
Private Sub Worksheet_Change(ByVal Target As Range)
'**************************************************
' alimentation des cellules
'**************************************************
If Target.Address(0, 0) = "B2" Then
If Not IsEmpty("B2") Then
Dim manager As String, c As Range
manager = Range("B2").Value
'Eviter les calculs inutiles et rappel en boucle de l'évènement change
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False 'Figer l'écran
'Vider la liste actuelle
Me.ListObjects("tcollaborateurs").DataBodyRange.Delete (xlShiftUp)
'Parcourir la liste des managers de effectif
For Each c In Sheets("BD effectif").Range("teffectifs[Manager]").Cells
'si occurence trouvée
If LCase(c) = LCase(manager) Then
'rajouter une ligne au tableau collaborateur
'*** comment ajouter 4 lignes par Tcollaborateur ***"
With Me.ListObjects("tcollaborateurs").ListRows.Add
.Range(1, 1) = c(1, -4)
.Range(1, 2) = c(1, -3)
.Range(1, 3) = c(1, -1)
.Range(1, 4) = c(1, 0)
.Range(1, 5) = c(1, 2)
End With
End If
Next
'Rétablir les paramètres d'application
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True 'Figer l'écran
End If
End If
End Sub
Point 2 :
-comment alimenter la première zone de ma combobox avec la valeur de la cellule selectée qui lance la combobox tout en laissant la possibilité de choisir dans la liste imbriquée créée. détail dans mon fichier
Merci d'avance pour l'aide
CC
Dernière édition: