lettre colonne selon noms

Batiscaf

XLDnaute Occasionnel
Bonjour le forum,

Voici le mois d'août et temps pour moi de me pencher sur mes grosses macros.

Mais me voici bien embêté. Vous pourrez trouver en pièce jointe un petit fichier qui illustre mon problème.

Je récupère dans une base excel plein de colonnes de données avec différents titres, mais pas toujours dans le même ordre selon les besoins des utilisateurs.
Je n'ai pas la possibilité de les forcer à lancer toujours les mêmes colonnes dans le même ordre, mais dans tous les cas les colonnes en bleu dans mon fichier apparaissent.

J'ai besoin de récupérer les lettres de ces colonnes en fonction de leurs titres pour en créer d'autres telles que 'Media2' (que j'ai mis en jaune) dans ma macro, et autre part préparer d'autres formules.

Il doit y avoir une piste du coté de la fonction de définition des noms de colonnes mais je ne sais m'en servir dans VB.

Alors si vous voulez bien me filer un petit coup de main je vous en suis déjà reconnaissant.

Merci.

Bat [file name=lettrecolonnenoms.zip size=2613]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/lettrecolonnenoms.zip[/file]
 

Pièces jointes

  • lettrecolonnenoms.zip
    2.6 KB · Affichages: 27
M

Mamagubida10

Guest
En gros tu veux récupérer la lettre de la colonne de chaque case en bleu ?

Pkoi tu ne te déplace pas avec un offset puis tu ajoute une boucle if pour comparer.

for i = 1 to 50
range('A1').offset(0,i).select
If range('A1').offset(0,i).value = 'ton nom' then
numcolone = Chr(Selection.Column +64)
end if
next


Jsuis débutant mais je pense que je ferais comme ça.
Maintenant si tu veux récupérer le nom de la colonne de tout tes titres, ça va être chaud.

Amicalement
 

Bebere

XLDnaute Barbatruc
bonjour
ds le tableau lettre tu trouvera les lettres des colonnes
à+ :) [file name=lettrecolonneret.zip size=9085]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/lettrecolonneret.zip[/file]
 

Pièces jointes

  • lettrecolonneret.zip
    8.9 KB · Affichages: 28

Batiscaf

XLDnaute Occasionnel
Bonsoir Bebere, Magagubida10, le forum,

J'ai du mal m'exprimer, je vous prie de m'en excuser.

Bebere,
Ta macro est trop compliquée pour moi du coup je ne sais pas si c'est bien cela que j'attends.
Je pense avoir besoin d'un mix entre ta macro et la procédure présentée par magagubida.

en fait je cherche un code qui me dirait que :
La colonne intitulée 'media' prend la valeur E
La colonne intitulée 'activité' prend la valeur F
La colonne intitulée 'ODP' prend la valeur N
etc.
pour pouvoir par la suite concatener les colonnes odp+ligne+frais+régul
ou mettre comme formule dans la case A2 :
si(F2='';E2;F2)

ps1: au moment où je récupère les données il n'y a aucune couleur. je les ai juste mises pour vous indiquer que c'est sur celles-ci que je travaille.

ps2: ça ne me dérange pas du tout si vous avez une technique qui m'indique toutes les lettres de colonnes pour tous les noms qu'il trouve sur la ligne 1.

c'est comme vous voulez.

Bat.
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Par formule.
Dans le fichier joint,
tu as une formule te renvoyant la lettre de la colonne de chaque titre.
Formule matricielle, à valider par ctrl, maj et entrée si tu dépasses 26 colonnes,
sinon, la formule est plus simple.
[file name=LettreColonnesBatiscaf.zip size=5363]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/LettreColonnesBatiscaf.zip[/file]
 

Pièces jointes

  • LettreColonnesBatiscaf.zip
    5.2 KB · Affichages: 47

Batiscaf

XLDnaute Occasionnel
Bonjour à tous,

et plus particulièrement à Monique que je remercie pour ce fichier qui me sera bien utile.

J'avais finalement retouvé un fil hier soir dans les achives avec déjà une formule de Monique. J'ai commencé à avancer avec mais j'étais encore loin de ce résultat.

Comme quoi, celle que je surnommais déjà la déesse du sommeprod, navigue vraiment partout.

Nous allons devoir inventer de nouveaux superlatifs pour pouvoir qualifier tous nos sauveurs.

Bonne journée.

Bat.
 

Monique

Nous a quitté
Repose en paix
Re,

Me voilà déesse ? Merci !

Tu as bien fait de parler de SommeProd !
Le même résultat que la formule de la colonne E, mais à valider simplement par entrée :
=GAUCHE(ADRESSE(1;SOMMEPROD((A$1:AG$1=B5)*COLONNE(A$1:AG$1));4);NBCAR(ADRESSE(1;SOMMEPROD((A$1:AG$1=B5)*COLONNE(A$1:AG$1));4))-1)

(ne marche que s'il n'y a pas de doublons, l'autre formule te renvoie la 1ère valeur trouvée)
 

Batiscaf

XLDnaute Occasionnel
Bonjour le forum, Monique et tous les autres,

J'ai pu bien avancer graâce à ton tableau Monique, mais comme bien évidemement je bloque un peu plus loin. Dans le code cette fois.

Vous pourrez constater dans le code joint que suite au tableau qui me permet de connaitre la lettre des colonnes des entetes, je déclare des variables issues de ce tableau.

Telle n'est pas un peu plus loin ma surprise lorsque les valeurs de ces variables ne se mettent pas à jour dans la macro au moment où je veux bouger mes colonnes. Pourtant le tableau de référence c'est mis à jour.
Bref ça coince ça coince dans mes 2 dernière lignes de code, 'etatva' à une valeur Q mais aurait du ce mettre à jour à S.

Comment puis-je faire évoluer la valeur de mes variables à chaque évolution du tableau ?
Y a t'il une fonction de mise à jour des valeurs à mettre en place où ne faut-il pas utiliser autre chose que 'value' lors de la déclaration ?

Merci à vous.

Bat.

[file name=sourcepf2forum.zip size=28071]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sourcepf2forum.zip[/file]
 

Pièces jointes

  • sourcepf2forum.zip
    27.4 KB · Affichages: 25

Monique

Nous a quitté
Repose en paix
Bonjour,

Les 2 formules te donnent la même chose, il n'y a pas de différence dans le résultat.
Mais j'ai mal formulé mon explication, j'aurais du dire :
celle avec SommeProd ne marcherait pas s'il y avait des doublons (mais il n'y a pas de doublons)

Pour ta macro, je ne peux pas t'aider : je n'y connais rien.
 

Batiscaf

XLDnaute Occasionnel
Bonjour tout le monde,

Merci quand même Monique pour ton aide sur la formule.

Finalement pour mettre à jour les valeurs de mes variables, je n'ai pas touvé d'autre solution que de redéclarer mes variables au monent de les utiliser.

A+

Bat.
 

Discussions similaires

Réponses
12
Affichages
335
Réponses
2
Affichages
243
Réponses
20
Affichages
391

Statistiques des forums

Discussions
312 931
Messages
2 093 719
Membres
105 794
dernier inscrit
mallet