"Bien sûr la seconde doit pourvoir modifiée."
Aïe, chui tombé sur un os. Ta solution est bonne Chti, mais je viens de terminer mon fichier Excel, et détail que j'ai oublié de préciser : la feuille Settings est cachée (et dois le rester : elle n'est affichée qu'en début d'utilisation pour stocker les paramètres, elle ne doit plus apparaître ensuite).
Du coup, une fois Settings masquée, ta marco n'est pas opérationnelle puisqu'il ne trouve pas Settings...
J'ai intégré une ligne de code permettant d'afficher la feuille avant ton code et de la masquer après ton code, mais ça ne fonctionne pas...
Need help !!! D'avance merci !!
ActiveCell.FormulaR1C1 = "=VLookup(Cells(1, i), Sheets("Feuil2").Range(Columns(dataFirstCol), Columns(dataEndCol)), 4, False)"
ActiveCell.FormulaR1C1 = "=VLookup(Cells(1, i), Feuil2!" & dataFirstCol & ":" & dataEndCol & ", 4, False)"
With Sheets("Feuil1").Cells(downBound + 1, i).Value = WorksheetFunction.VLookup(Cells(1, i), _
Sheets("Feuil2").Range(Columns(dataFirstCol), Columns(dataEndCol)), 4, False)
End With
Sub Test()
Dim Formule As String
Dim Valeur As Variant
'Insertion de la formule
Formule = "=VLookUp(RC5,Données,13,FALSE)"
ActiveCell.Value = Formule
'lire la valeur
Valeur = ActiveCell.Value
'lire la formule
Formule = ""
Formule = ActiveCell.FormulaR1C1
MsgBox ActiveCell.Value
MsgBox ActiveCell.FormulaR1C1
End Sub
Dim IndexColonne As Integer
'Calcul de l'index de la colonne au sein de la sélection Données_Radiologiques = "D3:AZ118"
IndexColonne = Range(.Cells(4, 16).Address).Column - (Range("$D$3:$AZ$118").Columns(1).Column - 1)
MsgBox IndexColonne
Sub Test()
Dim Formule As String
Dim Valeur As Variant
Dim IndexColonne As Integer
'Calcul de l'index de la colonne au sein de la sélection Données_Radiologiques = "D3:AZ118"
IndexColonne = Range(.Cells(4, 16).Address).Column - (Range("$D$3:$AZ$118").Columns(1).Column - 1)
MsgBox IndexColonne
'Insertion de la formule
Formule = "=VLookUp(RC5,Données,IndexColonne,FALSE)"
ActiveCell.Value = Formule
'lire la valeur
Valeur = ActiveCell.Value
'lire la formule
Formule = ""
Formule = ActiveCell.FormulaR1C1
MsgBox ActiveCell.Value
MsgBox ActiveCell.FormulaR1C1
End Sub
'Insertion de la formule
Formule = "=VLookUp(RC5,Données," & IndexColonne & ",FALSE)"
Dans votre code, IndexColonne est le nom d'une variable dont la valeur est un nombre (disons 13 pour l'exemple).(…)
Je ne savais pas qu'il fallait insérer des &. (…)
Formule = "=VLookUp(RC5,Données,IndexColonne,FALSE)"
Formule = "=VLookUp(RC5,Données," & IndexColonne & ",FALSE)"