Mettre la valeur d'une cellule range() dans une variable

Canard29

XLDnaute Nouveau
Bonjour à tous,
J'avais un peu abandonné le développement et puis cela me reprends mais je bute sur le plus simple :
CTR = A3 pas de problème
si je fais : Range("J" & ligne-1) = CTR pas de problème mais si je fais :
CTR = Range("J" & ligne) avec ou sans .value, message "incompatibilité de type
Mon code :
' Séparateur de catégorie
'
Dim ligne As Integer
Dim CTR As Integer
Dim Gris As Integer
Gris = 0
CTR = Range("J2").Value
For ligne = 3 To 60 'pour examiner les lignes 2 à xCarton,

If Range("A" & ligne) <> Range("A" & ligne - 1) Then 'IF UN
' On Change de Catégorie
Range("B" & ligne - 1) = CTR 'Sous Total
Range("J" & ligne).Select 'On change de catégorie
CTR = ActiveCell.Value() --> message " incompatibilité de Type"

Merci pour votre aide. JP
 

Canard29

XLDnaute Nouveau
Merci Pierre Jean pour ta tentative, elle m'a permis de découvrir d'autres erreurs, mais le problème que je t'ai soumis a disparu de manière incompréhensible, voir mon code qui maintenant fonctionne :
' Séparateur de casier
'
Dim ligne As Integer
Dim CTR As Integer
Dim Gris As Integer
Range("B2:B59").Select
Selection.ClearContents
Gris = 0
CTR = Range("J2")
For ligne = 3 To 60 'pour examiner les lignes 2 à xCarton,

If Range("A" & ligne) <> Range("A" & ligne - 1) Then 'IF UN
' On Change de Casier
Range("B" & ligne - 1) = CTR ' Je pose le total de la catégorie précédente
If Range("A" & ligne) = "xCarton" Then GoTo Fin
CTR = Range("J" & ligne) 'je réinitialise le CTR de la valeur de la première ligne casier suivant


et cela fonction ?? je n'ai plus "d'incompatibilité de type" sauf si je tombe sur une cellule contenant du texte, ce qui n'était pas le cas.
En tous cas, merci, j'ai un beau petit programme pour gérer ma cave.
A plus si tu le souhaite. JP
 

Discussions similaires

Statistiques des forums

Discussions
312 099
Messages
2 085 285
Membres
102 850
dernier inscrit
iqi