Compter dans une liste de code le nombre d'occurrence simultanée dans chaque cod [Résolu]

Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
- - Dernière réponse : eltigre85
Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
- 4 janv. 2012 à 17:24
Salut, j'ai un problème sur l'execution de mon code ça m'envoi tjrs zeros.
En fait je voudrai compter le nombre de code dans lesquels apparaissent 11 au debut et a à la fin. Voici le programme que j'ai essayé merci de m'aider.

Sub quotass()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim nb As Integer
nb = 0
'For i = 1 To 275
Feuil1.Activate
Range("A1").Select
Do While Not (IsEmpty(ActiveCell))
If Left(Feuil1.Range("A1").Value, 2) 11 And Right(Feuil1.Range("A1").Value, 1) a Then
nb = nb + 1
End If
Selection.Offset.cell(1, 0).Select
Loop
End Sub
Afficher la suite 

13 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
3
Merci
Réveille-toi un peu, hein !
Si tu as cette erreur, cela veut dire que tu n'as pas de feuille nommée "Feuil1"
Remplace donc "Feuil1" par le nom donc à la feuille concernée !

PS : pour ton information : j'ai testé ce code ===>> sans faille !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Bonjour,

1) 11 et a devraient être mis entre guillemets

2) utilise la propriété .text au lieu de la propriété .value

3)
Do While Not (IsEmpty(ActiveCell))
  If Left(Feuil1.Range("A1").Value, 2) 11 And Right(Feuil1.Range("A1").Value, 1) a Then
    nb = nb + 1
  End If
  Selection.Offset.cell(1, 0).Select
Loop 

fait que tu es toujours sur la cellule A1 dans ta condition If !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
0
Merci
Je pense à cela Mais là ou j'ai mis Sheets(2) il faut remplacer le 2 par le bon num de page et peut être adapter un ou deux choses.

Sub quotass()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim nb As Integer
nb = 0
i=1
v_max = Sheets(2).Range("A1:A65536").SpecialCells(xlCellTypeLastCell).Row
While (v_max >= i)
  If Left(Sheets(2).Range("A" & i), 2) "11" And Right(Sheets(2).Range("A" & i), 1) "a"Then nb  = nb + 1
  i=i+1
  Wend
End Sub


Aussi si la cellule peut commencer avec des espaces ou finir avec utilise la fonction Trim.
Commenter la réponse de 4u4me4us
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
0
Merci
J'avais pas vu que c était clos! Plus
Commenter la réponse de 4u4me4us
Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
0
Merci
ça ne marche pas ça m'affiche erreur 438
Commenter la réponse de eltigre85
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Peux-tu nous exposer TRES CLAIREMENT ce que tu cherches à faire exactement.

Plus particulièrement ce point(-là :
Do While Not (IsEmpty(ActiveCell)) 

S'agit-il de cesser de parcourir dès la première cellule vide (donc même si d'autres sont pleines plus bas) ou de parcourir jusqu'à la dernière cellule remplie ?
Ce n'est pas la même chose) !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
0
Merci
4u4me4us désolé je l'avais clos par inattention. Mais ça ne marche tjrs pas le nb ne s'incrémente tjrs pas.
Commenter la réponse de eltigre85
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Peux-tu s'il te plait répondre à la question que je t'ai posée ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
0
Merci
Oui c ça ucfoutu il s'agit de parcourir jusqu'à la dernière cellule pleine.
En j'ai une colone là ou il y a une serie de numeo d'immatriculation de 14 caractère je voudrai compter le nombre d'immatriculation dans lesquels se trouve 11 en première position et a en dernière position. Sur mon ficher il y en a plein, mais le code m'affiche zeros
Commenter la réponse de eltigre85
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
DE'où l'absolue nécessité d'être toujours TRES PERECIS !
C'est alors tout bête ===>>

Dim nb As Integer, c As Range
 For Each c In Worksheets("Feuil1").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
   If c.Text Like "11*a" Then nb = nb + 1
 Next
 MsgBox nb


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
0
Merci
ça ne merche pas errreur d'execution 9
Commenter la réponse de eltigre85
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
0
Merci
If c.Text Like "11*a" Then nb = nb + 1. Très beau ucfoutu. Je prend
Commenter la réponse de 4u4me4us
Messages postés
35
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
12 septembre 2013
0
Merci
Cool c'est bon merci bcp ça tourne maintenant.
Commenter la réponse de eltigre85