Mon code m'indique un problème d'incompatibilité de type, je ne comprend pas pourquoi.. si vous avez des pistes. merci ( vba m'indique un bugg à la ligne Activecell.formular1c1 )
Sub bibi()
Application.ScreenUpdating = False
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim s As Integer
' Compter le nombre de lignes de notre tableau qui sera egale à j, on se place sur la 1ere colonne car c'est la seule a etre remplie jusqu'a la fin entierement
Cells(1, 1).Select
j = ActiveCell.Offset(0, 1).End(xlDown).Row
' pour i allant de 1 jusqu'a 50 par ex(// nb de variables qu'on a)
' si les cellules de la 1è ligne valent D1 alors: on selectionne la colonne suivante (on insert une new colo)
For s = 1 To 2
For i = 1 To 20
If Cells(1, i).Value = "D" & s Then
'on selectionne la colonne suivante et on insert une nouvelle colonne
Columns(i + 1).Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(1, i + 1).Value = "D" & s & "bis"
' on selectionne la cellule ds la nouvelle colonne sur laquelle on va appliquer notre formule
' pour k allant de 2 à j (=le nb de ligne)
For k = 2 To j
If Cells(k, s).Value <> "" Then
Cells(k, i + 1).Select
En principe, la fonction DATE de la feuille de calcul a comme paramètres dans l'ordre: année, mois, jour
essaies ceci en supposant que la cellule visée est au format jjmmaaa
ActiveCell.FormulaR1C1 = "=DATE(RIGHT(RC[-1],4),MID(RC[-1],3,2),LEFT(RC[-1],2))"