Bonjour
Lorsque je sélectionne la donnée souhaitée en cellule D21 de la feuille "Salariés", je fais la chose suivante
1- Recherche dans la feuille "CCN" en colonne A, la donnée inscrite en cellule D21 de la feuille "Salariés"
2- Je récupère les données présentes de la colonne B à D de la feuille CCN correspondant à la cellule D21 de la feuille salariés et les mets automatiquement dans les cellules concernées aux endroits indiquées en feuille "Indemnités"
J'ai ce code
Sub ecriture()
raz
critère = Sheets("Salariés").Range("D21")
With Sheets("CCN")
Set r = .Columns(1).Find(critère)
n = 0
While Not r Is Nothing
Call remplir(r, n)
n = n + 1
Set r = r.Offset(1, 0).FindNext
Wend
End With
End Sub
Sub remplir(r, n)
With Sheets("Indemnités")
lg1 = r.Parent.Cells(1, 2)
lg2 = r.Parent.Cells(1, 3)
lg3 = r.Parent.Cells(1, 4)
'MsgBox r.Row
.Range(lg1).Offset(n, 0) = r.Offset(0, 1)
.Range(lg2).Offset(n, 0) = r.Offset(0, 2)
'MsgBox r.Offset(, 3)
If r.Offset(0, 3) <> "" Then phrase = Right(r.Offset(0, 3), Len(r.Offset(0, 3)) - 1) Else phrase = ""
.Range(lg3).Offset(n, 0).FormulaLocal = phrase
End With
End Sub
Sub raz()
With Sheets("Indemnités")
.Range("A51:A58") = ""
.Range("A59:A66") = ""
.Range("D59:D66") = ""
End With
End Sub
J'aimerais rajouter une chose dans ce code :
Lorsqu'en colonne B de la feuille CCN la phrase commence par Maxi...... alors cette formule en colonne D s'affichera en ligne 66 de la feuille Indemnité
Quelqu'un aurait il une idée ?
Merci