Formule NBVAL sur prog excel VBA
RésolumanueHN Messages postés 36 Statut Membre -
J'ai une programmation toute simple à créer sur Excel VBA mais je bloque, vu que c'est ma première expérience.
J'ai un fichier dont les lignes varient selon les mois. Chaque mois, je voudrais compter le nombre de ligne présent dans le fichier.
Sur VBA, j'ai donc commencer à écrire :
Dim DernierNoLig As Integer
Dim NoLigDuCumul As Integer
DernierNoLig = Range("A1").CurrentRegion.Rows.Count
NoLigDuCumul = DernierNoLig + 1
Do While Not (IsEmpty(NoLigDuCumul))
Cells(NoLigDuCumul, 2).FormulaR1C1 = "=CountA (R[1]C2:R[-1]C2)"
Loop
VBA m'indique une erreur au niveau de la ligne en gras et je n'arrive pas à la déceler.
Quelqu'un pourrait-il m'aider ?
Merci d'avance.
- Vba nbval
- Nbval en anglais - Guide
- L'indice n'appartient pas à la sélection vba ✓ - <a href="https://forums.commentcamarche.net/forum/programmation-3">Forum Programmation</a>
- Dépassement de capacité vba ✓ - <a href="https://forums.commentcamarche.net/forum/excel-145">Forum Excel</a>
- &Quot;L'indice n'appartient à la sélection" + VBA - <a href="https://forums.commentcamarche.net/forum/vb-vba-267">Forum VB / VBA</a>
- Incompatibilité de type vba ✓ - <a href="https://forums.commentcamarche.net/forum/programmation-3">Forum Programmation</a>
13 réponses
Une programmation Excel VBA vise à compter mensuellement les lignes d’un fichier dont le nombre varie, et une erreur survient sur une ligne de formule écrite en notation R1C1. Le souci pratique réside dans la syntaxe de la ligne Cells(NoLigDuCumul, 2).FormulaR1C1 = "=CountA (R[1]C2:R[-1]C2)", où l’espace et l’orthographe de CountA posent problème; utiliser COUNTA sans espace résout l’erreur. D'autres échanges suggèrent d'initialiser correctement les variables (par exemple Dim NoLig As Long et NoLig = 2) et de vérifier la condition d’arrêt de Do While pour éviter une boucle infinie. Plusieurs contributeurs recommandent une gestion de versions et l’ajustement des formats (par exemple pour les colonnes VALABS et % VALABS) afin d’éviter des incohérences lors des tris ou des calculs.