Recherche dans une feuille excel et additionner des valeurs

Fermé
RobinHood69 Messages postés 2 Date d'inscription lundi 23 décembre 2013 Statut Membre Dernière intervention 10 janvier 2014 - 23 déc. 2013 à 16:13
RobinHood69 Messages postés 2 Date d'inscription lundi 23 décembre 2013 Statut Membre Dernière intervention 10 janvier 2014 - 10 janv. 2014 à 09:19
Bonjour,
Je suis un grand debutant en VBA Excel et j'ai besoin de créer une macro avec les critères suivants:

Je dois créer une feuille de rapport journalier basée sur des n° de tickets (Colonne C) avec leurs nb d'heures de traitement (Colonne G). Chaque n° peut apparaître plusieurs fois vu que le ticket peut avoir été traité durant plusieurs jours

1. Entrer le n° à rechercher par l'intermédiaire d'un Inputbox et le stocker dans une variable.
2. Rechercher ce n° dans la colonne "C" dans la feuille courante autant de fois qu'il existe.
3. Additionner le nb d'heures correspondant à chaque occurrence de ce n°, le total d'heures à la fin de la recherche est à stocker dans une variable.
4. Afficher le résultat dans un MessageBox comprenant le n° de ticket entré dans l'InputBox avec le total d'heures de traitement correspondant.

Voilà, j'espère que mes explications sont assez compréhensibles. Comme je ne connais pas grand chose en VBA pour Excel, je vous remercie par avance pour votre précieuse aide afin de réaliser cette macro.
A voir également:

2 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
26 déc. 2013 à 09:20
Bonjour,

Si l'objectif est de calculer le nombre d'heures en fonction d'un numéro, tu n'es pas obligé de passer par le vba.

Imaginons que ton tableau est en feuille 1.
Imaginons que tu veuilles rentrer ton numéro de ticket dans la cellule A2 de la feuille 2

Pour obtenir le nombre de fois où le ticket apparaît, la formule est :
=nb.si(Feuil1!C:C;A2)

Pour obtenir le nombre total d'heures, la formule est :
=somme.si(Feuil1!C:C;A2;Feuil1!G:G)

Te faut-il vraiment du vba ou les formules peuvent te suffire?
0
RobinHood69 Messages postés 2 Date d'inscription lundi 23 décembre 2013 Statut Membre Dernière intervention 10 janvier 2014
10 janv. 2014 à 09:19
Bonjour,

Mille excuses pour ma réponse tardive, je viens de rentrer de vacances :-).
Merci pour ta réponse et ça fonctionne très bien effectivement avec cette formule. Cependant, j'ai complexifié mon classeur Excel et je souhaite pouvoir faire ce même décompte d'heures lorsque je change l'état du ticket en "fermé" dans la feuille3 et qu'automatiquement ça me mette le total d'heures dans la cellule à côté basé sur la recherche du n° de ticket qui se trouve dans les feuilles 1 et 2, car il y a 2 types de reporting d'où la nécessité de 2 feuilles.

Donc pour résumer, il y a 2 feuilles de reporting détaillants les actions sur chaque ticket et 1 feuille d'historique des tickets (Feuille3) dans laquelle je definis l'état de chaque ticket (ouvert ou fermé) et quand je change l'état du ticket en "fermé" il faut que ça affiche dans la cellule de la colonne suivante le total des heures qui ont été trouvées dans les feuilles 1 et 2 correspondants au n° de ticket de la ligne sélectionnée en feuille 3. voilà pourquoi je pense que la solution par VBA me semble la plus indiquée pour realizer ceci.

Mille merci par avance pour ton aide !!!
0