Macro excel 2007 trouver des colonnes contenant des data
Fermé
Vdpt
Messages postés
25
Date d'inscription
mercredi 5 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2015
-
14 août 2013 à 11:16
Vdpt Messages postés 25 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 2 juillet 2015 - 20 août 2013 à 15:17
Vdpt Messages postés 25 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 2 juillet 2015 - 20 août 2013 à 15:17
A voir également:
- Macro excel 2007 trouver des colonnes contenant des data
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- App data - Guide
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
4 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
14 août 2013 à 19:14
14 août 2013 à 19:14
Bonjour
Pas facile de vous aider, et difficile de tout comprendre. Cependant voici une approche en fonction de vos explications.
dans le tableau, on teste la présence de cellules pleines par ligne de la colonne D à H.
dans la colonne C, on affiche le nombre de cellules pleines de la ligne en question toujours de D à H, et en commentaires on affiche tous les entêtes de colonnes correspondantes.
la colonne A contient vos datas.
la colonne B fait la somme de chaque ligne si A ou C ne sont pas vides.
En l'absence de plus de précisions, j'ai fait ce que j'ai cru comprendre
https://www.cjoint.com/c/CHotlL0nFvy
Cdlt
Pas facile de vous aider, et difficile de tout comprendre. Cependant voici une approche en fonction de vos explications.
dans le tableau, on teste la présence de cellules pleines par ligne de la colonne D à H.
dans la colonne C, on affiche le nombre de cellules pleines de la ligne en question toujours de D à H, et en commentaires on affiche tous les entêtes de colonnes correspondantes.
la colonne A contient vos datas.
la colonne B fait la somme de chaque ligne si A ou C ne sont pas vides.
En l'absence de plus de précisions, j'ai fait ce que j'ai cru comprendre
https://www.cjoint.com/c/CHotlL0nFvy
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
15 août 2013 à 09:50
15 août 2013 à 09:50
Bonjour
Pour ne chercher que les valeurs > 0 remplacer "" par 0 dans la ligne suivante
If Cells(ligne, i + 3) <> "" Then
ce qui devient
If Cells(ligne, i + 3) <> 0 Then
le problème avec le TCD, c'est que la structure est différente par rapport au fichier d'origine, donc il faudra créer une nouvelle macro.
il vaut mieux disposer du fichier (même allégé) avec le TCD pour comprendre ce qu'il y a faire. (à déposer sur Cjoint.com)
bonne journée
cdlt
Pour ne chercher que les valeurs > 0 remplacer "" par 0 dans la ligne suivante
If Cells(ligne, i + 3) <> "" Then
ce qui devient
If Cells(ligne, i + 3) <> 0 Then
le problème avec le TCD, c'est que la structure est différente par rapport au fichier d'origine, donc il faudra créer une nouvelle macro.
il vaut mieux disposer du fichier (même allégé) avec le TCD pour comprendre ce qu'il y a faire. (à déposer sur Cjoint.com)
bonne journée
cdlt
Vdpt
Messages postés
25
Date d'inscription
mercredi 5 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2015
19 août 2013 à 14:16
19 août 2013 à 14:16
voilà la file en question. Ce n'est plus un pivot (pas besoin finalement, j'ai copier/coller les valeurs)
Merci d'avance!!
https://www.cjoint.com/c/CHtopUrWh9g
Merci d'avance!!
https://www.cjoint.com/c/CHtopUrWh9g
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
19 août 2013 à 17:37
19 août 2013 à 17:37
Bonjour
Le tableau que vous fournissez ne présente rien de particulier par rapport à la demande initiale, si ce n'est que ça manque de commentaires, par exemple, dans qu'elle colonne doit-on afficher le résultat.
Si vous pouviez donner plus de précisons directement dans le fichier, ce serait l'idéal
A+
Le tableau que vous fournissez ne présente rien de particulier par rapport à la demande initiale, si ce n'est que ça manque de commentaires, par exemple, dans qu'elle colonne doit-on afficher le résultat.
Si vous pouviez donner plus de précisons directement dans le fichier, ce serait l'idéal
A+
Vdpt
Messages postés
25
Date d'inscription
mercredi 5 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2015
20 août 2013 à 09:46
20 août 2013 à 09:46
Vdpt
Messages postés
25
Date d'inscription
mercredi 5 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2015
15 août 2013 à 10:00
15 août 2013 à 10:00
Ok, je ferai ça dès que possible!merci beaucoup en tout cas!!
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
20 août 2013 à 13:08
20 août 2013 à 13:08
Bonjour
Essayez
https://www.cjoint.com/c/CHunhV4w9gg
bonne journée
cdlt
Essayez
https://www.cjoint.com/c/CHunhV4w9gg
bonne journée
cdlt
Vdpt
Messages postés
25
Date d'inscription
mercredi 5 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2015
20 août 2013 à 13:34
20 août 2013 à 13:34
Bonjour,
merci pour le file. J'ai essayé d'incorporer la macro à mon fichier global (qui a le même format), mais ça plante quand il faut recopier les en tête.
la ligne suivante (indiquée avec l'apostrophe à la fin ) bug :
RecopieEntete:
For i = 1 To NbColPleines '- 3
If NbColPleinesMax = 0 Then GoTo Commentaires
If Entete(i + 9) = "" Then GoTo Suivant 'ligne qui bug
Entetes = Entetes & Chr(10) & Entete(i + 9)
Entete(i + 9) = ""
CptCellPleine = CptCellPleine + 1
NbColPleinesMax = NbColPleinesMax - 1
j'imagine que tous les (i+9) vont planter du coup. y'a t il une explication possible ou vous faut il le file?
Merci!
merci pour le file. J'ai essayé d'incorporer la macro à mon fichier global (qui a le même format), mais ça plante quand il faut recopier les en tête.
la ligne suivante (indiquée avec l'apostrophe à la fin ) bug :
RecopieEntete:
For i = 1 To NbColPleines '- 3
If NbColPleinesMax = 0 Then GoTo Commentaires
If Entete(i + 9) = "" Then GoTo Suivant 'ligne qui bug
Entetes = Entetes & Chr(10) & Entete(i + 9)
Entete(i + 9) = ""
CptCellPleine = CptCellPleine + 1
NbColPleinesMax = NbColPleinesMax - 1
j'imagine que tous les (i+9) vont planter du coup. y'a t il une explication possible ou vous faut il le file?
Merci!
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
20 août 2013 à 13:34
20 août 2013 à 13:34
je regarde
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
20 août 2013 à 13:42
20 août 2013 à 13:42
je ne comprends pas, ça marche très bien chez moi.
puis-je avoir de nouveau le fichier pour vérifier
merci
puis-je avoir de nouveau le fichier pour vérifier
merci
Vdpt
Messages postés
25
Date d'inscription
mercredi 5 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2015
20 août 2013 à 13:48
20 août 2013 à 13:48
voilà le file. En gros la macro ne s'applique pas sur l'ensemble des data on dirait...
https://www.cjoint.com/c/CHunWg7lMm2
merci!
https://www.cjoint.com/c/CHunWg7lMm2
merci!
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
20 août 2013 à 14:25
20 août 2013 à 14:25
Voilà, c'est corrigé, tout simplement une annotation (changed) en dernière colonne venait perturbé le fonctionnement, or je ne vérifiait que les valeurs numériques.j'ai donc rajouté un contrôle supplémentaire.
https://www.cjoint.com/c/CHuovVE7PwW
bonne journée
https://www.cjoint.com/c/CHuovVE7PwW
bonne journée
14 août 2013 à 19:50
Vous pouvez ajouter des lignes, des colonnes
15 août 2013 à 09:36
je testerai lundi!
D'après ce que j'ai vu, c'est exactement ça!! C'est géant, merci beaucoup! ça va me faire vmt gagner du temps!
Question : faut-il ajouter un niveau de détail supplémentaire dans la macro si je cherche dans un Tableau croisé dynamique ou j'ai des par exemple 0, 10 et 20 (mais pas de cellule vide), et que je ne veux que les data >0 ?
Merci encore!!!!