Inputbox avex Cellule reference relative

Résolu/Fermé
philippe34130 Messages postés 28 Date d'inscription jeudi 24 janvier 2013 Statut Membre Dernière intervention 3 août 2015 - 11 févr. 2013 à 16:37
 philippe34130 - 12 févr. 2013 à 13:44
Bonjour,
J'ai une inputbox pour créer des liaison mais quand ma liaison est integré dans la cellule je ne peux pas incrémenter sur les cellule du dessous car elle indique une cellule en reference absolue ($C$2) alors qu'il me faudrai une reference relative.
Grand merci de m'aider car je planche dessus sans trouver la reponse
Merci à tous de votre aide !!

Sub recupuneseule()

' Flo
Dim Chemin As String, NomFic As String, Onglet As String, Ref As String
Dim A
Chemin = InputBox("Chemin du fichier à lire :", "lire fichierFermé", "C:\Users\Philippe")
NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichierFermé", "MonFichier.xls")
Onglet = InputBox("nom de la feuille :", "lire fichier fermé", "Feuil1")
Ref = InputBox("adresse de la cellule à lire :", "lire fichierfermé", "C2")
ActiveCell.Value = "='" & Chemin & "\[" & NomFic & "]" & Onglet & "'!" & Range(Ref).Range("A1").Address

End Sub

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
11 févr. 2013 à 17:22
Bonjour,

Pas très sur d'avoir compris...
Essaie d'ajouter cette ligne :
Ref = Replace(Ref, "$", "") 
Comme ceci :
Sub recupuneseule() 

' Flo 
Dim Chemin As String, NomFic As String, Onglet As String, Ref As String 
Dim A 
Chemin = InputBox("Chemin du fichier à lire :", "lire fichierFermé", "C:\Users\Philippe") 
NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichierFermé", "MonFichier.xls") 
Onglet = InputBox("nom de la feuille :", "lire fichier fermé", "Feuil1") 
Ref = InputBox("adresse de la cellule à lire :", "lire fichierfermé", "C2") 
If Ref <> "" Then Ref = Replace(Ref, "$", "")
ActiveCell.Value = "='" & Chemin & "\[" & NomFic & "]" & Onglet & "'!" & Range(Ref).Range("A1").Address 

End Sub
0
Bonjour et merci de ton aide,

Ca ne fonctionne pas j'ai toujours $C$2


En fait je voudrai pouvoir incrémenter les cellules du dessous et donc avoir:

='C:\Users\Philippe\[MonFichier.xls]Feuil1'!C2

Et non pas
='C:\Users\Philippe\[MonFichier.xls]Feuil1'!$C$2, que je ne peux pas incrementer

Merci à toi
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
12 févr. 2013 à 08:50
Bonjour,

Oui effectivement je n'ai pas regardé ton code suffisamment en détail.
C'est :
Range(Ref).Range("A1").Address
qu'il convient de remplacer par :
Replace(Range(Ref).Range("A1").Address, "$", "")

Ce code semble convenir :
Sub recupuneseule()

' Flo
Dim Chemin As String, NomFic As String, Onglet As String, Ref As String, Cel As Range
Dim A
Chemin = InputBox("Chemin du fichier à lire :", "lire fichierFermé", "C:\Users\Philippe")
NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichierFermé", "MonFichier.xls")
Onglet = InputBox("nom de la feuille :", "lire fichier fermé", "Feuil1")
Ref = InputBox("adresse de la cellule à lire :", "lire fichierfermé", "C2")
ActiveCell.Value = "='" & Chemin & "\[" & NomFic & "]" & Onglet & "'!" & Replace(Range(Ref).Range("A1").Address, "$", "")
End Sub
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
12 févr. 2013 à 09:03
Juste comme ça, pour "améliorer" le truc, et surtout pour éviter toutes les erreurs de saisie, il faudrait peut être utiliser une boîte de dialogue comme ceci :
Ta macro deviendrait :

Sub TestPourPhilippe()
Dim fichier As String, Onglet As String, Ref As String

fichier = Application.GetOpenFilename
Onglet = InputBox("nom de la feuille :", "lire fichier fermé", "Feuil1")
Ref = InputBox("adresse de la cellule à lire :", "lire fichierfermé", "C2")
ActiveCell.Value = "='" & Chemin & "\[" & NomFic & "]" & Onglet & "'!" & Replace(Range(Ref).Range("A1").Address, "$", "")
End Sub 

Ensuite, selon ce que tu veux faire, tu peux également lire ceci...
0
philippe34130
12 févr. 2013 à 13:44
Bonjour

Super ça fonctionne, merci beaucoup !!
0