Débutant - Syntaxe - Valeur non renvoyée dans cellule

Zdouf

XLDnaute Nouveau
Bonjour,

Un petit souci de débutant... je ne trouve pas de solution à mon pb.
Avec le code ci-dessous, je demande à un entier (espaces, initialement = 0) de s'incrémenter dès qu'une ligne est insérée, puis de renvoyer la valeur finale dans la cellule "H1".
Problème: rien en H1!
Est-ce que mon compteur ne compte pas ou la valeur n'est pas renvoyée en "H1"?

D'avance, merci.

Dim comptrap As Range, iii&, Espaces As Integer
Espaces = 0
Set comptrap = Range("A6:E200")

For iii = comptrap.Rows.Count To 6 Step -1
If Cells(iii, 5) <> Cells(iii - 1, 5) Then
Rows(iii).Insert
Espaces = Espaces + 1
Range("h1").Value = Espaces
End If
Next
 

TempusFugit

XLDnaute Impliqué
Re : Débutant - Syntaxe - Valeur non renvoyée dans cellule

Bonjour


Et en modifiant ainsi ?
Code:
Sub test()
Dim comptrap As Range, iii&, Espaces As Integer
Espaces = 0
Set comptrap = Range("A6:E200")
For iii = comptrap.Rows.Count To 6 Step -1
If Cells(iii, 5) <> Cells(iii - 1, 5) Then
Rows(iii).Insert
Espaces = Espaces + 1
End If
Next
Range("h1").Value = Espaces
End Sub
 

TempusFugit

XLDnaute Impliqué
Re : Débutant - Syntaxe - Valeur non renvoyée dans cellule

Chez moi cela fonctionne pourtant.

Testes cette macro sur un nouveau classeur
VB:
Sub testV2()
Dim comptrap As Range, iii&, Espaces As Integer
Espaces = 0
Set comptrap = Range("A6:E200")
'ici ajout pour faire le test
With Range("E6:E20")
.Clear
.Formula = "=ROW()"
.Value = .Value
End With
' fin de l'ajout.  (Ces lignes ne servent que pour le test, on peut les supprimer ensuite)
For iii = comptrap.Rows.Count To 6 Step -1
If Cells(iii, 5) <> Cells(iii - 1, 5) Then
Rows(iii).Insert
Espaces = Espaces + 1
End If
Next
Range("h1").Value = Espaces
'A la fin de cette macro H1= 16 sur mon PC
End Sub
 
Dernière édition:

TempusFugit

XLDnaute Impliqué
Re : Débutant - Syntaxe - Valeur non renvoyée dans cellule

Comme je l'ai expliqué dans l'autre message (voir les mots en vert)
Cela ne sert qu'à créer quelques valeurs pour pouvoir tester la macro sur un un classeur vide.
(Voila ce que ces lignes font:
1) efface les cellules
2) inscrit une formule qui renvoie le numéro de ligne de la cellule,
3) transforme les formules en valeur)

Tu peux donc supprimer ces lignes dans ton code final.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 930
Membres
104 702
dernier inscrit
Hugotheking