Macro excel 2007 trouver des colonnes contenant des data
Vdpt
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Vdpt Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Vdpt Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je vais essayer d'expliquer mon problème le plus clairement possible.
Je dois travailler sur un fichier contenant énormément de colonnes.
Je voudrais faire une macro qui aille chercher dans chaque ligne indépendamment, et me donne le nom des colonnes qui contiennent des datas.
Je voudrais coupler cette macro à une fonction IF. En effet, mes premières colonnes contiennent des sommes des colonnes suivantes, et m'indiquent donc si oui -ou non- les colonnes suivantes vont contenir des donnéess.
L'idée serait d'avoir une macro ou formule qui fasse si(ligne 1, les premieres colonnes contiennent des data;recherche de data dans colonnes suivantes de cette ligne) et qu'il me donne la liste des headings contenant des data (à croise avec un vlookup peut etre?)
Si je ne suis pas assez clair (c'est pas impossible!) merci de me le dire!
Merci d'avance pour votre aide!
je vais essayer d'expliquer mon problème le plus clairement possible.
Je dois travailler sur un fichier contenant énormément de colonnes.
Je voudrais faire une macro qui aille chercher dans chaque ligne indépendamment, et me donne le nom des colonnes qui contiennent des datas.
Je voudrais coupler cette macro à une fonction IF. En effet, mes premières colonnes contiennent des sommes des colonnes suivantes, et m'indiquent donc si oui -ou non- les colonnes suivantes vont contenir des donnéess.
L'idée serait d'avoir une macro ou formule qui fasse si(ligne 1, les premieres colonnes contiennent des data;recherche de data dans colonnes suivantes de cette ligne) et qu'il me donne la liste des headings contenant des data (à croise avec un vlookup peut etre?)
Si je ne suis pas assez clair (c'est pas impossible!) merci de me le dire!
Merci d'avance pour votre aide!
A voir également:
- Macro excel 2007 trouver des colonnes contenant des data
- Formule moyenne excel plusieurs colonnes - Guide
- App data - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire des colonnes sur word - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
4 réponses
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
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
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
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+
Bonjour
Essayez
https://www.cjoint.com/c/CHunhV4w9gg
bonne journée
cdlt
Essayez
https://www.cjoint.com/c/CHunhV4w9gg
bonne journée
cdlt
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!
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!
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
Vous pouvez ajouter des lignes, des colonnes
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!!!!