Fonction Calcul VBA

Résolu
Estelle 68* Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
tony020422 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis un peu en galère pour la création d'une fonction VBA. En fait j'ai un fichier Excel avec des données en colonne A (Requetes totales) et B (Erreurs). Dans la colonne C je calcul le pourcentage d'erreur cad (B/A*100) et cela pour tous les jours du mois (31 lignes au total). Le problème c'est que je suis obligé de tiré la colonne vers le bas pour copier la formule de calcul du pourcentage.

J'aimerais qu'à partir du moment ou je rentre des valeurs dans les colonnes A et B, la colonne C se calcule automatiquement. Si je ne rentre rien j'aimerais que la colonne C reste vide.

Est ce que quelqu'un pourrais m'aider?

Estelle.
A voir également:

4 réponses

tony020422 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   6
 
bonjour,
aurais tu penser a faire une macro ?! c'est relativement simple pour ce que tu veux faire..

Aprés avoir rentré la colonne A et B, tu ferais juste un "Ctrl+ .." et obtiendrais ce que tu veux !
Reste a voir aprés dans le cas des cellules vides isolées de A ou B, mais l'idée est là..cherches de ce coté la!

bon courage!
0
Estelle 68* Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
En fait je souhaiterais que cela se fasse automatiquement car je ne serais pas la seule à utiliser ce fichier.......
Juste entrée A et B puis C se calcul automatiquement. Si rien en A et B alors rien en C.

Merci quand même pour le conseil.
0
wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   245
 
Bonjour

tu peux preparer ta colonne : en C1 :
=Si(OU(Estvide(A1);Estvide(B1));"";B1/A1*100)


et tu tires vers le bas
sinon tu passes par macro evennementielle à metre dans le code de la feuille concernée : ALT + F11

Private Sub Worksheet_Change(ByVal Target As Range)
    if not intersect(range("A:B"),target) is nothing then
            Range("C" & target.row).formula = "=B" & target.row & "/A" & target.row & "*100"
    end if
End Sub

0
Estelle 68* Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci a Wilfried pour son aide. Problème résolu.

Bon week end a tous.
0
tony020422 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   6
 
kool,
bon week end!
0