Re bonjour,
Pour m’occuper ce midi au boulot, j’avais terminé la macro de transfert des dates; manque de chance ou mauvaise manip, les envois ne sont pas partis…
Donc, voiciCe que j’avais fait :
Dans la feuille « tab », création d’une cellule nommée « nombre » calculant le nombre de salariés de la boite (colonne AI par exemple).
Dans la macro, suppression de la variable « valx » complètement inutile et remplacement de « valy » par « cptr »
Ci dessous le code à copier dans vba
Si tu utilises une autre solution, sois sympa de me le signaler pour mes progrès perso.
Amicalement,
Michel. Béziers
Sub essai1()
Dim congé As Range
Dim cptr, nbre, lig, col As Byte
'A COMPLETER: NETTOYAGE DES CELLULES DE DATES...
'application.ScreenUpdating=False
'Sheets("gel_center").activate
Set congé = Range(Cells(3, 4), Cells(52, 11))
Sheets("TAB").Activate
'initialisations
nbre = Range("nombre")
cptr = 1
lig = 4
col = 37
While cptr <= nbre
'lig, col, cptr, valx à implémenter avec boucles par ex pas de la colonne=3 donc cptr est à 2 (pas=1)
' dates de début
Cells(lig, col) = congé.Value(cptr, 1)
Cells(lig + 1, col) = congé.Value(cptr, 3)
Cells(lig + 2, col) = congé.Value(cptr, 5)
Cells(lig + 3, col) = congé.Value(cptr, 7)
'dates de fin
Cells(lig, col + 1) = congé.Value(cptr, 2)
Cells(lig + 1, col + 1) = congé.Value(cptr, 4)
Cells(lig + 2, col + 1) = congé.Value(cptr, 6)
Cells(lig + 3, col + 1) = congé.Value(cptr, 8)
If cptr Mod 9 = 0 Then
col = 37
lig = lig + 9
Else
col = col + 3
End If
cptr = cptr + 1
Wend
End Sub