Extraire numéro de ligne d'une formule

rouillld

XLDnaute Nouveau
Bonsoir à toutes et à tous,

Je ne suis pas une star en vba et Google n'a pas donné réponse à ma question (sans doute que je la formule mal).

Je vais essayer d'être le plus clair possible... Tout est expliqué dans le fichier joint.

La colonne C de la feuille 1 de mon fichier Excel fait référence à un cellule unique de la feuille 2 par une formule =Feuil2!A5 par exemple.

J'aimerai récupérer par macro le numéro de ligne de cette formule dans une autre colonne, 5 pour l'exemple précédent, sachant que ce numéro peut être très grand (tableau Excel de 10000 lignes environ).

Je ne sais pas trop comment récupérer la chaine de caractère (avec formula je suppose ?) ni comment extraire le numéro de ligne.

Merci d'avance et bonne soirée

Jérôme
 

Pièces jointes

  • ex1.xlsm
    14.7 KB · Affichages: 67
  • ex1.xlsm
    14.7 KB · Affichages: 62
  • ex1.xlsm
    14.7 KB · Affichages: 62

Fred0o

XLDnaute Barbatruc
Re : Extraire numéro de ligne d'une formule

Bonsoir rouillld,

J'ai examiné ton fichier et j'ai une solution à te proposer qui me parait plus simple :

Pourquoi ne pas remplacer ta formule en Feuil2!B2 par
Code:
=SOMME.SI(Feuil1!C$1:C$19;A2;Feuil1!B$1:B$19)

Puis tirer la formule vers le bas.

Ainsi, tu peux supprimer l'étape intermédiaire du n° de ligne et cela marche très bien.

A+
 

rouillld

XLDnaute Nouveau
Re : Extraire numéro de ligne d'une formule

Merci fredOo pour ta réponse.

J'a facilité l'exemple afin qu'il soit plus facile à comprendre, mais le problème est plus compliqué.

Pour une raison sans doute trop longue à expliquer, je dois pouvoir récupérer le numéro de ligne contenu dans les formules de la colonne C de la feuille 1. De ce fait, je pourrai faire un somme si par macro dans la colonne B de la feuille 2. L'exemple en formule somme.si était un exemple. J'ai fait le code suivant (simplifié):

Sub test()

Dim l As Integer

For l = 2 To 6

Sheets("Feuil2").Cells(l, 4).Value = Application.WorksheetFunction.SumIf(Sheets("Feuil1").Range("G2:G19"), l, Sheets("Feuil1").Range("B2:B19"))
Next l

End Sub

Cependant, je voudrais qu'au lieu d'avoir Range("G2:G19") (correspondant aux valeurs que j'ai saisi manuellement pour les numéro de ligne de la colonne C, pour illustrer l'exemple), la macro extrait "toute seule" le numéro de ligne des formules contenues dans la colonne C : 5 de feuil2A5 en C2, 4 de feuil2A4 en C3, 5 de feuil2A5 en C4 et ainsi de suite.

Peut-être faut-il faire une étape supplémentaire et extraire la chaine de caractère des formules (ex : =Feuil2!A5 en C2), puis extraire le 5 ?
 

Modeste geedee

XLDnaute Barbatruc
Re : Extraire numéro de ligne d'une formule

Bonsour®
La colonne C de la feuille 1 de mon fichier Excel fait référence à un cellule unique de la feuille 2 par une formule =Feuil2!A5 par exemple.
comment est affectée cette formule ?
pourquoi ne pas pas utiliser une liste de validation ...

J'aimerai récupérer par macro le numéro de ligne de cette formule dans une autre colonne, 5 pour l'exemple précédent, sachant que ce numéro peut être très grand (tableau Excel de 10000 lignes environ).
pourquoi par macro ??? (il n'y aucun code VBA dans l'exemple fourni)
par formule :
N°ligne =EQUIV(C2;Feuil2!$A$1:$A$6)
Je ne sais pas trop comment récupérer la chaine de caractère (avec formula je suppose ?) ni comment extraire le numéro de ligne.
exemple la feuille 1 étant active :

VB:
Dim VarNoLigne As Integer ' ou bien Long
VarNoLigne= Evaluate("=MATCH(C5,'Feuil2'!$A$1:$A$6,0)")
Msgbox VarNoLigne
:cool:
envisager également l'utilisation de tableau Croisé dynamique
 

Pièces jointes

  • ex1.xlsm
    25.1 KB · Affichages: 54
  • ex1.xlsm
    25.1 KB · Affichages: 51
  • ex1.xlsm
    25.1 KB · Affichages: 57
  • Capture.jpg
    Capture.jpg
    62.3 KB · Affichages: 63
  • Capture.jpg
    Capture.jpg
    62.3 KB · Affichages: 70
  • Capture.jpg
    Capture.jpg
    62.3 KB · Affichages: 73

Discussions similaires

Réponses
6
Affichages
228

Statistiques des forums

Discussions
311 543
Messages
2 080 560
Membres
101 249
dernier inscrit
PAwka