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

Résolu
eltigre85 Messages postés 35 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 12 septembre 2013 - 4 janv. 2012 à 15:56
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

13 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 222
4 janv. 2012 à 17:10
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 222
4 janv. 2012 à 16:20
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
0
4u4me4us Messages postés 781 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
4 janv. 2012 à 16:25
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.
0
4u4me4us Messages postés 781 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
4 janv. 2012 à 16:26
J'avais pas vu que c était clos! Plus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eltigre85 Messages postés 35 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 12 septembre 2013
4 janv. 2012 à 16:28
ça ne marche pas ça m'affiche erreur 438
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 222
4 janv. 2012 à 16:36
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
0
eltigre85 Messages postés 35 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 12 septembre 2013
4 janv. 2012 à 16:45
4u4me4us désolé je l'avais clos par inattention. Mais ça ne marche tjrs pas le nb ne s'incrémente tjrs pas.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 222
4 janv. 2012 à 16:47
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
0
eltigre85 Messages postés 35 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 12 septembre 2013
4 janv. 2012 à 16:53
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 222
4 janv. 2012 à 16:55
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
0
eltigre85 Messages postés 35 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 12 septembre 2013
4 janv. 2012 à 17:07
ça ne merche pas errreur d'execution 9
0
4u4me4us Messages postés 781 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
4 janv. 2012 à 17:23
If c.Text Like "11*a" Then nb = nb + 1. Très beau ucfoutu. Je prend
0
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
Cool c'est bon merci bcp ça tourne maintenant.
0