Titre des colonnes en 2EME LIGNE

yakutake83

XLDnaute Occasionnel
Bonjour bonjour!

Voilà, suite à plusieurs manips, je me retrouve obligé d'avoir mes titres de colonnes en 2ème ligne! Ca ne me dérangerait pas plus que ça si je n'avais pas une macro qui utilise les titres des colonnes, et qui plante dans cette situation (je viens de m'en rendre compte... faut dire que je l'ai pas utilisée depuis que j'ai fait les nouvelles manips)!
Bref, je suis dans le pétrin!
Je vous mets ici la partie de la macro qui permet de lire les titres de colonnes lorsque ceux-ci sont en première ligne:

Dim ColIntrouvable as Boolean
Function NumColumn(TexteRech As String) As Byte 'permet de prendre le nom de la colonne au lieu de son code
ColIntrouvable = False
On Error GoTo erreur
NumColumn = Range("A1:IV1").Find(TexteRech, lookat:=xlWhole).Column
Exit Function
erreur:
ColIntrouvable = True
End Function

J'ai essayé en remplaçant ("A1:IV1") par ("A2:IV2"), mais ça plante quand même!
Si quelqu'un pouvait me rectifier l'erreur sur cette portion de macro, ça m'arrangerait énormément (et ça me soulagerait pour le Week-End :p) !

Merci d'avance!
 

yakutake83

XLDnaute Occasionnel
Re : Titre des colonnes en 2EME LIGNE

elle marche sans problème quand le titre de mes colonnes se trouve en première ligne! mais pas quand c'est en deuxième ligne!
sinon oui, c'est une fonction (mais qui fait partie d'une macro :))
en fait, dans une autre fonction de ma macro, si j'ai ColIntrouvable = True, ça me met un message d'erreur! je veux donc éviter d'avoir le message d'erreur (c'est à dire prendre les noms des colonnes)!
 

yakutake83

XLDnaute Occasionnel
Re : Titre des colonnes en 2EME LIGNE

j'ai ça dans ma macro:

Dim ColIntrouvable as Boolean
Dim ColEtat as Integer

Public Sub NomSub()
...
ColEtat = NumColumn("Etat")
If ColIntrouvable = True Then GoTo fin
...
fin:
MsgBox "Erreur sur une colonne veuillez verifier."
End Sub

Function NumColumn(TexteRech As String) As Byte
On Error GoTo erreur
NumColumn = Range("A1:IV1").Find(TexteRech, lookat:=xlWhole).Column
Exit Function
erreur:
ColIntrouvable = True
End Function

dès que je lance la macro, ça me donne ColIntrouvable = True, donc blocage!
 

porcinet82

XLDnaute Barbatruc
Re : Titre des colonnes en 2EME LIGNE

re,

Essaye comme ca :
Code:
Dim ColIntrouvable As Boolean
Dim ColEtat As Integer
Public Sub NomSub()
'...
ColEtat = NumColumn("T2")
If ColIntrouvable = True Then MsgBox "Erreur sur une colonne veuillez verifier.": Exit Sub
'...
End Sub
Function NumColumn(TexteRech As String) As Byte
ColIntrouvable = False
On Error GoTo erreur
NumColumn = Range("A2:IV2").Find(TexteRech, lookat:=xlWhole).Column
Exit Function
erreur:
ColIntrouvable = True
End Function

@+
 

yakutake83

XLDnaute Occasionnel
Re : Titre des colonnes en 2EME LIGNE

bon, maintenant, j'ai un nouveau problème:
je dois faire fonctionner la macro précédente sur un fichier autre que celui sur lequel elle est positionnée!
je m'explique : j'ai un fichier avec un bouton grace auquel je définis le fichier source à analyser (fichier source qui est attribué à la variable chemin dans ma macro). je veux pouvoir rechercher les noms des colonnes de ce fichier source!
j'ai essayé en mettant
ColEtat = Workbooks(chemin).Worksheets("feuil1").NumColumn("etat")
mais ça ne marche pas! ça me renvoie une erreur 9.

j'ai aussi essayé en mettant
Function NumColumn(TexteRech As String) As Byte
ColIntrouvable = False
On Error GoTo erreur
NumColumn = Workbooks(chemin).Worksheets("feuil1").Range("A2:IV2").Find(TexteRech, lookat:=xlWhole).Column
Exit Function
erreur:
ColIntrouvable = True
End Function
ça ne marche pas non plus! ça ne me renvoie pas d'erreur, sinon que ça ne me repère pas la colonne souhaitée.

une idée de solution pour régler ce problème?
merci d'avance!
 

porcinet82

XLDnaute Barbatruc
Re : Titre des colonnes en 2EME LIGNE

Salut,

Dans la ligne de code suivante ColEtat = Workbooks(chemin).Worksheets("feuil1").NumColumn(" etat") il correspond a quoi ton " etat" ??? Parce qu'il faut lui passer un numero et toi tu lui du texte alors forcement il aime pas trop.

pour l'autre code, peut etre est-ce seulement du au copier/coller, mais tu as un espace ici : ("A2:I V2").Find(
Sinon, je vois pas trop d'ou ca peut venir. Est-ce que tu as essayé d'executer ton code en pas a pas pour voir (touche F8 pour une macro, et pour une fonction, il faut mettre un point d'arret sur la premiere ligne et continuer en pas a pas) ?

@+
 

yakutake83

XLDnaute Occasionnel
Re : Titre des colonnes en 2EME LIGNE

salut porcinet!

pour le ColEtat = Workbooks(chemin).Worksheets("feuil1").NumColumn(" etat"), il faut te référer à la macro décrite un poil plus haut :)
le mon Etat correspond à un texte que je recherche dans la ligne des titres de mes colonnes, et cette recherche se fait avec la fonction NumColumn!

quant à l'espace dont tu parles dans le ("A2:I V2"), c'est effectivement un problème de copier coller au niveau du forum (pareillement, y'a pas d'espace entre le " et le etat )

voilà voilà... mes amitiés à Winnie, Coco Lapin, Grand Gourou, Petit gourou, Maître Hibou et Bourriquet :D
EDIT : pas d'inquiétude, je suis juste un peu fatigué ce soir :D
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35