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

  • Initiateur de la discussion Initiateur de la discussion Zdouf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

Zdouf

Guest
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
 
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
 
Re : Débutant - Syntaxe - Valeur non renvoyée dans cellule

Bonjour TempusFugit,

Toujours pas.
Le fait de mettre le renvoi vers h1 en dehors du "if" ne fait rien.
Pas de sub ni de endsub car ici c'est un morceau de macro.
 
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:
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
832
Retour