Programme de comptage

Foxaltex

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'un petit coup de pouce pour faire fonctionner une macro. Je possède un classeur avec deux feuilles. J'ai une colonne F dans ma feuille 1 dont les cellules peuvent accueillir trois phrases : "Arret.", "Temps dégradé." et "Sans arrêt.". Il y a un nombre de cellules de cette colonne remplis aléatoirement dont la valeur est dans la cellule G4 de la deuxième feuille -par exemple 31. Je souhaite pouvoir comparer chaque cellule de cette colonne F avec la valeur de ma cellule B43 -feuille 2- : "Arret".

Je souhaite donc faire une boucle qui me permette de comparer ma valeur en B43 avec les cellules de la colonnes F et d'incrémenter de un une variable i qui sera afficher en G7 -première feuille- pour m'indiquer le nombre de cellule égale à la valeur de B43. i ne peut donc aller que jusqu'à 31 dans mon exemple.

Voilà le code que j'ai écris et qui ne fonctionne pas :

Code:
Sub CompteArretMach()

 'Décalarations des variables nécessaire à la macro
 Dim i, j As Integer
 Dim var, var2 As String
 'Fin des déclarations
 
 'Initialisation de mes variables
 i = 0
 var = Sheets("export_travaux_2013-07-03").Range("G4").Value
 var2 = Columns("F:F").Select
 'Fin de l'initialisation
 
 'Boucle de comptage des "Arret"
 For j = var To 1 Step -1
  If Sheets("export_travaux_2013-07-03").Range(j, 12).Value <> Sheets("MiseEnForme").Range("L1").Value Then
   i = i + 1
  End If
 Next
 
 'Affiche le nb des "Arret"
 Sheets("MiseEnForme").Range("G7").Value = i
  
End Sub

Lorsque je le lance, VisualBasic for Application ouvre une fenêtre indiquant "Incompatibilité de type." mais je ne vois pas pourquoi... ^^'

Quelqu'un peut-il me conseiller ? Merci :)
 

Foxaltex

XLDnaute Nouveau
Re : Programme de comptage

Je me suis peut être mal expliquer... Je n'utilise pas le connu logiciel Visual Basic mais plutôt Visual Basic fournit avec le pack 2010, dans l'onglet "Développeur". Désolé ^^'

Du coup, lorsque j'ai l’erreur affiché dans un MsgBox, j'ai juste l le choix entre le bouton "Ok" et "Aide"... Et l'aide ne m'aide en rien... ^^
 

Pierrot93

XLDnaute Barbatruc
Re : Programme de comptage

Bonjour,

A priori tu peux supprimer cette ligne :
Code:
var2 = Columns("F:F").Select

elle ne sert à rien dans la suite du code et la variable ainsi initialisée n'est pas utilisée.... Quand à sa construction....

bon après midi
@+
 

Carnage029

XLDnaute Occasionnel
Re : Programme de comptage

Tu devrais revoir ton code, tu initialise var2 avec (pour moi) une erreur de code et tu ne l'utilise pas dans le reste... joint un fichier au format xlsm avec ta macro... ça sera peut être plus clair.


EDIT : devancé... comme d'hab
 

Foxaltex

XLDnaute Nouveau
Re : Programme de comptage

Ah merde, je pensais avoir effacer cette variable que j'avais créé pour tenter de résoudre mon problème... Pardon ^^'

Voilà le fichier !
 

Pièces jointes

  • fichierExemple.xlsx
    10.2 KB · Affichages: 23
  • fichierExemple.xlsx
    10.2 KB · Affichages: 26
  • fichierExemple.xlsx
    10.2 KB · Affichages: 27

Pierrot93

XLDnaute Barbatruc
Re : Programme de comptage

Re,

pourquoi ne pas utiliser tout simplement la fonction NB.SI :
Code:
=NB.SI(Feuil1!F:F;"Arret")

A noter sur ta feuille 1 tu as des cellules fusionnées, toujours plus délicat à gérer en vba, d'autant plus qu'en l'état cela n'apporte rien....
 

Foxaltex

XLDnaute Nouveau
Re : Programme de comptage

Je ne connaissais pas cette fonction... Merci !

Je vais vite trouver un site où je peux avoir la liste la plus exhaustive de ses fonctions ^^'

J'ai supprimé les cases fusionnées, il est vrai qu'elle m'ennuyais plus qu'autre chose. Erreur de débutant je suppose.

Merci de ton aide dans tous les cas ! :D
 

Discussions similaires

Statistiques des forums

Discussions
312 687
Messages
2 090 951
Membres
104 705
dernier inscrit
Mike72