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   -
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!
A voir également:

4 réponses

Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
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
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
J'ai oublié, il faut lancer la macro "TrouverColonne"
Vous pouvez ajouter des lignes, des colonnes
0
Vdpt Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

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!!!!
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
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
0
Vdpt Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
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+
0
Vdpt Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
Voilà le fichier avec qqes commentaires!

https://www.cjoint.com/c/CHujUtWJPuB

Merci d'avance!
0
Vdpt Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
Ok, je ferai ça dès que possible!merci beaucoup en tout cas!!
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour
Essayez
https://www.cjoint.com/c/CHunhV4w9gg
bonne journée
cdlt
0
Vdpt Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
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!
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
je regarde
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
je ne comprends pas, ça marche très bien chez moi.
puis-je avoir de nouveau le fichier pour vérifier
merci
0
Vdpt Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
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!
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
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
0