bonsoir
j'ai un tableau de 40 colonnes sur 65 lignes.
je souhaiterais que soit comptabilise le nombre de X dans une cellules en horizontales. et que cela fasse la meme chose sur les 65 lignes inferieures.
je ne sais pas comment faire en vba.
cris
bonsoir
j'ai un tableau de 40 colonnes sur 65 lignes.
je souhaiterais que soit comptabilise le nombre de X dans une cellules en horizontales. et que cela fasse la meme chose sur les 65 lignes inferieures.
je ne sais pas comment faire en vba.
cris
bonjour,
tu peux t'inspirer de ceci
cellules contenant seulement "X"
cellules dont on trouve X à l'intérieur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for i=0 to 64 NombreDeX_PourLaLigne=application.worksheetfunction.countif(range("A1:A40").offset(i,0),"X") next i
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for i=1 to 65 NombreDeX_PourLaLigne=0 for j= 1 to 40 if instr(cells(i,j),"X") then NombreDeX_PourLaLigne=NombreDeX_PourLaLigne+1 next j next i
bonjour
j'ai essayer le code, mais je n'est pas de resultat.
mon tableau commence de la colonne C10 a AK10 et de la ligne C10 a C74 ce qui fait que le tableau va de C10 a AK74, et je souhaiterais que le comptage des X se fait en bout de chaque ligne en AK10, AK11 etc..
je seche un peu.
cris
le code était juste un exemple à adapter
louke :
si tu ne compte que les cellule ne contenant que "X"
si tu comptes les cellules contenant entre autres "X"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim R, C For R = 0 To 64 Range("AL10").Offset(R, 0) = Application.WorksheetFunction.CountIf(Range("C10:AK10").Offset(R, 0), "X") Next I
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim R, C For R = 3 To 67 For C = 3 To Columns("AK").Column If InStr(Cells(R, C), "X") Then Range("AL10") = Range("AL10") + 1 Next J Next I
Bonjour
Une autre proposition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub TEST() Application.ScreenUpdating = False With Sheets("Feuil1").Range("AL10:AL74") .Formula = "=Countif(C10:AK10,""X"")" .Value = .Value End With End Sub
j'ai adapter ton code Mercatog, et j'ai le resultat suivant, il fait un ci¡umul des lignes, je joint une capture d'ecran
cris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub changement_gaz() ' Application.ScreenUpdating = False With Selection.Interior .Color = 65535 ActiveCell.FormulaR1C1 = "X" With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With With Sheets("Calendrier").Range("AM10:AM74") .Formula = "=Countif(C10:AK74,""X"")" .Value = .Value End With End With Application.ScreenUpdating = True End Sub
je ne comprends quand même pas pourquoi tu ne mets pas la formule directement sur la feuille au bout de chaque ligne.
c'est quand même plus simple et plus rapide non??
Partager