bonjour
j'aimerai créer une boucle dans vba pour une colonne c en gros que la fontion nb(car) se répete à toute la colonne c
Utiliser avec For each
mais je sais pas comment faire
quelqu'un aurai la solution ?
merci
Version imprimable
bonjour
j'aimerai créer une boucle dans vba pour une colonne c en gros que la fontion nb(car) se répete à toute la colonne c
Utiliser avec For each
mais je sais pas comment faire
quelqu'un aurai la solution ?
merci
Bonjour,
Pourquoi utiliser un For each ?
Tu peux par exemple faire la chose suivante :
Ce code va permettre d'aller de C1 jusqu'à la dernière cellule de C que tu as remplie et y appliquer à chaque cellule ta fonction nb(car)Code:
1
2
3
4 For i = 1 To Range("C" & Rows.Count).End(xlUp).Row Range("C" & i).Value = nb(car) Next
Dis moi si ça ta aidé.
Bonne journée
non ca ne fonctionne pas
[CODE] Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1").Select
ActiveCell.FormulaR1C1 = "Nombre caractère mot clef"
Range("C2").Select
For i = 1 To Range("C" & Rows.Count).End(xlUp).Row
Range("C" & i).Value = nb(car)
Re,
Essaie ça, on sait jamais ..
Code:
1
2 Range("C" & 2).EntireColumn.Value = nb(car)
il n'aime pas le nb(car)
Le problème vient de ta fonction nb, elle fait quoi exactement? C'est toi qui l'a écrite ou tu essaie d'utiliser la formule excel NB ?
j'essais d'utiliser al fonction nb(car) mais il me semble qu'en vba on utilise len
Bonjour, sauf erreur ou omission de ma part, La formule NbCar(), ne s'utilise pas comme ça et s'écrit en VBA:
Quand vous ne savez pas, lancez l'enregistreur automatique de macros et faites manuellement ce que vous désirez, ensuite, arretez l'enregistrement et allez ensuite voir ce que ça donne.Code:ActiveCell.FormulaR1C1 = "=LEN(RC[-1])" 'J'ai entré la formule NBCAR en D1 pour calculer le nombre de caractères contenu dans la chaine de caractères de la cellule C1
Cordialement 8-)
L'équivalent à la fonction NB dans VBA est WorksheetFunction.CountA.
Par exemple pour obtenir le nombre de case remplie dans la colonne C on utilise
Je ne vois pas trop ce que tu veux faireCode:Application.WorksheetFunction.CountA(Range("C:C"))
[EDIT] Ah ok, nvm, elle cherche la fonction NbCar() , donc ça répondez pas à sa question x)
TRANSITOIRE
oui cest ce que j'avais fait mais comment appliquer cette fonction à l'ensemble de ma colonne C ?
ouCode:Range("C" & 2).EntireColumn.FormulaR1C1 = "=LEN(RC[-1])"
si tu veux t’arrêter a la dernière case remplieCode:
1
2
3 For i = 1 To Range("C" & Rows.Count).End(xlUp).Row Range("C" & i).FormulaR1C1 = "=LEN(RC[-1])" Next
merci la premiere solution marche
tu saurai comment faire pour étendre une formule exemple :
Range("M2").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("M2").Select
je veux que la formule =today soit étiré jusqu'a la dernière ligne de ma colonne M
Merci beaucoup
Re,
Tu as juste à adapter le code précédent :
Enfaite, à chaque fois qu'il faut que tu mette une formule dans une cellule, tu utilise FormulaR1C1 et tu met entre quotte la fonction voulue.Code:Range("M" & 2).EntireColumn.FormulaR1C1 = "=TODAY()"
Bonne journée