Incompatibilité de type sous vba

narinari -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


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
<code><code><code><ital><gras><souligne><gras>  ActiveCell.FormulaR1C1 = "=DATE(MID(RC[-1],4,2)&" / "&LEFT(RC[-1],2)&" / "&RIGHT(RC[-1],4))"</souligne></gras></ital></gras>
</code></code></code> End If

Next k
End If
Next i
Next s



Application.ScreenUpdating = True


End Sub

1 réponse

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

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))"

bonne suite
0