|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 14 ![]() |
Bonjour à tous !
Voilà j'ai créé une macro qui "scan" une page de la colonnes 1 à 40 et de chaque lignes de 1 à 100, cette macro vérifie si dans chaque cases (Cells) si il y a un "String" ou une chaîne de caractère ou encore VarType = 8. Et après il traite la ligne entière pour trouver un "Double" Ou VarType = 5 (Valeur numérique) pour ensuite enregistrer une valeur total dans une variable tableau qui est généré par le code. Et j'ai quelques soucis avec mon code que je n'arrive pas à trouver seul... Me suis-je perdu dans mon code ? Très certainement :-D Voici la bête en question : Code :
Merci d'avance ! |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 924 ![]() |
Bonjour,
En première lecture je remarque que la première boucle utilise la variable C qui est modifiée dans dans une autre boucle (While) elle même imbriquée dans d'autres boucles "For" Et la je me dis que le mur n'est pas loin ![]() Citation:
Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
||||
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 14 ![]() |
Merci pour ton aide je vais essayer ça tout de suite, je te tiens au courant :-)
Mais par contre comment pourrais-je analyser une ligne avec le fameux Rg As range ? Une fois que la chaîne de caractère à été découverte ? Citation:
|
|||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 924 ![]() |
Citation:
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Tu as aussi la possibilité d'utiliser qui représente la ligne complète. Il serait ensuite intéressant d'utiliser Find pour rechercher un/des éventuels doublon sur la ligne. [Edit] Find ne sera peut-être pas judicieux dans l'ensemble, tout dépend de la réponse à cette question. Tu recherches VarType() = 5, 5 correspond à un nombre de type Double. Mais que cherches-tu exactement, un type Double ou juste une valeur numérique? Si on est dans le cas de la valeur numérique, alors en complément de find, tu peux utiliser Code :
[/Edit] ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
10
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 14 ![]() |
c'est bien pour retrouver une valeur numérique.
Merci beaucoup je vais tester tout ça !!!!! Je vous retournerais le code fonctionnel, ou non |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 14 ![]() |
Bon voilà j'ai fait quelques modifications, et le code est déjà bien plus sympathique à regarder le voici :
Code :
|
||
|
|
00
|
|
|
#8 | ||||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
J'ai regarder ton code, il faut revoir un peu son organisation je pense. Je ne comprend pas bien le but final, peux-tu préciser ce que tu cherches à faire exactement. En plus des explication, voila quelques questions et remarques Ce tableau est fixe ou le nombre de lignes est amené à varier? Code :
Code :
Set CellNumeric = Rg.SpecialCells(xlCellTypeConstants, xlNumbers) Pour que ce soit intéressant, il faut utiliser SpecialCells sur la ligne complète. Ainsi CellNumeric contiendra l'ensemble des cellules ayant un contenu numérique (hors cellule ayant un contenu numérique résultant d'une formule contenu dans la cellule [possible à obtenir en changeant certains paramètres]). Il te faut ensuite vérifier que CellNumeric est un contenu avant de l'utiliser, en effet si aucune cellule n'a un contenu numérique, CellNumeric sera Nothing Le but est ensuite de boucler sur les cellules pointées dans CEllNumeric et d'éviter de contrôler toutes les cellules de la ligne Code :
est incohérent, value est un contenu de cellule et Is un comparateur de niveau Object. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||||
|
|
10
|
|
|
#9 | |||||
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 14 ![]() |
Merci pour t'as réponse.
Citation:
Analyser la feuille pour créer un tableau dans une seconde feuille Exemple : ............................................................Total J...Heures..Nombre Quelque chose .......................................... 10.5....10,3......3 -----------------------Sous partie--------------------------------- ............X..................................................9,4......4,3........1 ............Y..................................................1..........3........1 ............Z..................................................0,1........3........1 Ci-dessus j'ai une représentation d'une type de feuille générée automatiquement par un logiciel. Le soucis est que la partie montrée juste au-dessus est qu'il y a plusieurs parties comme celle-ci avec différentes sous-parties Exemple : ...............................................................Total J..Heures..Nombre Quelque chose1 .......................................... 10.5.....10,3......3 -----------------------Sous partie--------------------------------- ............X..................................................9,4........4,3........1 ............Y..................................................1............3........1 ............Z..................................................0,1.........3........1 ..............................................................Total J...Heures...Nombre Quelque chose2 .......................................... 1.1........6............2 -----------------------Sous partie--------------------------------- ............Y..................................................1............3............1 ............Z..................................................0,1.........3............1 ...............................................................Total J...Heures...Nombre Quelque chose3 .......................................... 19,5........12,3.....10 -----------------------Sous partie--------------------------------- ............X..................................................9,4........4,3........1 ............Y..................................................1............2.........3 ............Z..................................................0,1........3............1 ............J..................................................3............2..........4 ............V..................................................6............1..........1 Le truc c'est que je doit prendre dans la feuille, tout les X,Y,Z,Etc et additionner toutes ces valeurs, pour ensuite regrouper toutes les sous-parties dans une autre feuille, ensuite je doit faire la même chose avec les parties principale "Quelque chose" Citation:
![]() Citation:
J'ai mis une variable au lieu de chiffres définis, car si un dév passe derrière il n'a plus qu'a changer la variable au lieu de tout remplacer. Et pour le tableau, pas de soucis cela commence à 0 ce termine à 50 comme ma variable i initialisé à 0, pas de problèmes sauf si je me trompe ... Cordialement ! |
|||||
|
|
00
|
|
|
#10 | ||
|
Invité de passage
![]() Inscription : juillet 2010 Messages : 14 ![]() |
ReBonjour à tous et à toutes !!
Mon problème est résolue, la macro est fonctionnel, je n'ai plus qu'a utilisé les valeurs de mon tableau pour les mettre dans d'autre feuille !!!! Merci à tous ! Voici mon code : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com