Recherche colonne

Bonjour à tous,

Je suis novice dans la programmation vba et j’ai un souci concernant une formule.

En effet, cette formule fait référence à une colonne. (Total agence). Toutefois selon la taille de mon agence, le total agence ne se trouve pas dans la même colonne. Comment pourrais-je forcer vba à trouver la colonne où se trouve mon texte « Total agence »

Déclarer mon texte comme variable ?

Et l’obliger à trouver la bonne colonne

Et l’inclure dans ma formule

Merci d’avance

Bonjour et bienvenue,

Merci de joindre un fichier à ta demande.

Cdlt.

Bonjour Jean-Eric,

Ci-joint le fichier avec mon problème,

merci d'avance.

Cdt

Bonjour

Eh bien cherche au préalable la mention "Total Agence" en ligne 13...

Bonjour,

Oui, cela ne m’aide pas.

Comment définir la colonne où se trouve ce texte en mode vba

Merci

RE

Dim LaMention As Range
Set LaMention = Rows("13:13").Find("TOTAL AGENCE")
If Not LaMention Is Nothing Then LaColonne = LaMention.Column

Merci mais désolé, je dois mal faire car cela bloque

9envoi-forum.xlsm (122.28 Ko)

J’ai trouvé mon erreur dans la formule ; au lieu de :

Cela va au bout mais maintenant dans la cellule j’ai#NOM?

RE

Evite les select, inutiles et ralentissant

Sheets("Dépenses VL par salariés").Range("B3").ActiveCell.FormulaR1C1 = _
        "=SUMIFS(EQUIPMENT!C" & LaColonne & ",EQUIPMENT!C9,'Dépenses VL par salariés'!C1,EQUIPMENT!C2,'Dépenses VL par salariés'!R1C)"

Ok merci, j’essaierai demain.

Cdt

Bonjour,

J'ai recopié ta formule et j'ai une erreur d'exécution '438'

Propriété ou méthode non gérée par cet objet

Cdt

Re

Effectivement j'ai laissé traîner .Activecell

Sheets("EQUIPMENT").Select
Dim LaMention As Range
Set LaMention = Rows("13:13").Find("TOTAL AGENCE")
If Not LaMention Is Nothing Then LaColonne = LaMention.Column
'--------------------------------------------------------------------
Sheets("Dépenses VL par salariés").Range("B3").FormulaR1C1 = _
        "=SUMIFS(EQUIPMENT!C" & LaColonne & ",EQUIPMENT!C9,'Dépenses VL par salariés'!C1,EQUIPMENT!C2,'Dépenses VL par salariés'!R1C)"

Merci, cela fonctionne.

Par-contre, tout ce qui suit derrière ne marche plus comme faire un filtre "1" sur la colonne 67, qui fonctionnait avant?

ActiveSheet.Range("$A$1:$BO$315").AutoFilter Field:=67, Criteria1:="1"

ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1

Sheets("EQUIPMENT").Select

RE

ActiveSheet doit pointer sur la mauvaise feuille...

Comme rappelé sur ce fil : le code doit préciser le classeur et la feuille concernée...

Les select sont à éviter au maximum

donc a minima

Worksheets("Dépenses VL par salariés").Range("$A$1:$BO$315").AutoFilter Field:=67, Criteria1:="1"

Bonsoir,

Super ça marche.

Merci beaucoup

Bonjour,

Encore une petite question,

Dans le même fichier mais sur un autre module, j'ai une recherche similaire sauf que le texte que je recherche n'est pas forcément sur une ligne définie. C'est aléatoire en fonction de la taille de l'agence que j'analyse.

J'ai donc appliqué la même formule mais au lieu de mettre "Rows("13:13"), j'ai mis une plage.

Mais cela ne fonctionne pas.

Est-ce normal ?

Merci d'avance

5pb-macro.xlsx (40.86 Ko)

Bonjour

Vérifie donc ta syntaxe !

Utilise Range et non un nom de feuille où il maque un "

Rechercher des sujets similaires à "recherche colonne"