Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème avec script VBA excel [ Langages dérivés / VBA ] (avyrex1926)

lundi 19 mai 2008 à 21:30:48 | Problème avec script VBA excel

avyrex1926

Membre Club
Bonjour à tous,

Je rencontre un problème avecun script vba excel.

Voici le script:


'nombre de réparation
Ref = Range("K3").Value
Set Plge1 = Sheets("Tableau Cumulatif").Range("J7:J" & Range("J7").End(xlDown).Row)
Set Plge2 = Sheets("Tableau Cumulatif").Range("N7:N" & Range("N7").End(xlDown).Row)
For Each cel In Sheets("COUT PAR PÉRIODE").Range("A5:A" & Range("A5").End(xlDown).Row)
If cel.Value <> "" Then
cel.Offset(0, 10) = Application.WorksheetFunction.CountIf(Plge1, cel & Ref)
cel.Offset(0, 11) = Application.WorksheetFunction.SumIf(Plge1, cel & Ref, Plge2)
End If
Next


'Total argent
    nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
 Set Plage = Sheets("COUT PAR PÉRIODE").Range("L5:L" & nbLignes)
    For Each CELL In Plage
        Range("L1") = Application.WorksheetFunction.Sum(Plage)
        Next
       
       
        '% SELON TYPE
 On Error Resume Next
    nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
   
    Set Plage = Sheets("COUT PAR PÉRIODE").Range("K5:K" & nbLignes)
  
   
    For Each CELL In Plage
        CELL.Offset(0, 2).Value = CELL.Value / Application.WorksheetFunction.Sum(Plage)
    Next CELL
   
  '% SELON Montant
   
       nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
   
    Set Plage = Sheets("COUT PAR PÉRIODE").Range("L5:L" & nbLignes)
    For Each CELL In Plage
        CELL.Offset(0, 2).Value = CELL.Value / Application.WorksheetFunction.Sum(Plage)
    Next CELL 
       
MsgBox "Terminé"
End Sub


Mon problème est que quand il va chercher le nombre de fois ou apparait un nom dans la feuille "COUT PAR PÉRIODE", il me donne un nombre de 34 fois quand pourtant il y en à 680 dans la colone J. J'ai l'impression qu'il vois que les 43 première lignes.

Pouvez-vous m'aider svp?


Merci de votre aide.

mardi 20 mai 2008 à 10:49:30 | Re : Problème avec script VBA excel

MPi

Réponse acceptée !
Salut,

Dans certains cas, tu utilises xlDown
S'il y a une cellule vide dans la colonne ou le Range, xlDown va s'arrêter sur cette ligne. Il est donc toujours préférable d'utiliser xlUp en partant de la fin quand on veut retourner le nombre de lignes totales. C'est possiblement à cause de ça que ton CountIf ne donne pas le bon total.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI


jeudi 22 mai 2008 à 03:01:42 | Re : Problème avec script VBA excel

avyrex1926

Membre Club
Merci Beaucoup, tu as raison. Là, ça fonctionne.

Désolé aussi pour le retard :)



Cette discussion est classé dans : end, range, plage, sheets, cell


Répondre à ce message

Sujets en rapport avec ce message

comment transformer le code d'une procédure sub en function ? (vba pour excell) [ par drine des iles ] Bonjour,L'internaut jpleroisse m'a transmis ce code pour m'aider à additionner toutes les cellules d'une plage de taille variable. Comment faire pour Experts only:modifier une macro difficile en excel( aidez moi svp) [ par aldush ] Bonjour, je dois ajouter des nouveles fonctions à une macro mais j'arrive pas à obtenir le resultat voulu.en fait je dois ajouter 2 feuille de calcul Transfert d'une feuille vers une autre sans doublons [ par avyrex1926 ] Bonjour, J'ai un petit problème avec un script qui me permet de transferer les noms d'une feuille vers une autre feuille mais sans doublons. Le problè Gestion d'une base de données clients/Ajout de contacts [ par bemien33 ] Bonjour,Je suis novice sur VBA et je bloque depuis une semaine sur le même probème. J'ai beaucoup cherché sur différents sites mais aucun moyen de rés Dans un userfom utilisation de combobox pour tri base de données excell 2003 [ par kikivba ] Bonjour,J'essaie de créer une application qui me permettrai de consulter ma bases de donnée et la trier en vba de la même façon que les filtres automa Marquer les doublons [ par fne67 ] Bonjour est bonne année à tous !Je ne suis pas expert dans la programmation VB, je souhaiterais via macro marquer la première ligne en double d'un tab Incrémentation pour progressbar [ par sfab41 ] Bonjour!J'ai fais une macro qui me permet de mettre à jour une liste à partir d'un dossier en 2 temps1) pour chaque cellule de la plage, si le contenu pb copier coller nb négatif d'une feuille a l'autre [ par soldick ] bonjour étant novice en VBAdepuis je fais une ptite marcro mais elle passe pas comme je veuxsur feuille j'ai des données negatives et postive en parco copier coller cellule avec valeur negative [ par soldick ] bonjour étant novice en VBAdepuis je fais une ptite marcro mais elle passe pas comme je veuxsur feuille j'ai des données negatives et postive en parco Référence à un onglet nouvellement créé [ par Raistlin69 ] Bonjour, J'ai besoin d'aide car je suis un débutant et je ne sais vraiment pas comment procéder. J'ai fait un classeur Excel (2003) qui contient 2 fe


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.