Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Importer des valeurs en fonction d'une variable

11 réponses
Avatar
Job
Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?

10 réponses

1 2
Avatar
RGI
Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI

Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?



Avatar
RGI
oupss ici

http://www.excelabo.net/xl/messages.php#valcell

salutations

RGI

Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI

Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une
ligne je puisse copier-coller des valeurs dans les lignes qui suivent
à partir d'un fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du
type "Projet XXX", il faudrait que le programme importe des valeurs
dans les cellules B2, B3, B4, etc, contenu dans différentes cellules
d'un autre fichier excel du nom de la variable que j'aurai alors
rentrée en B1.
Par où commencer?





Avatar
Job
Merci mais je ne veux pas que mes valeurs s'affichent dans une msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en fonction
de la variable que je vous ai indiqué tout à l'heure?


Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI

Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?






Avatar
RGI
Si les données arrivent bien dans la msgbox
Il suffit ensuite de trouver dans la feuille où sera placé les données
la première ligne vide
et ensuite de placer chaque données dans les colonnes désirées

pour trouver la première ligne vide de la colonne A

premligne = [A:A].Find("*", , xlFormulas, , xlByRows, xlPrevious).Row + 1

Cells(premligne,1).Select = "première valeur"

et ensuite par rapport à cette cellule activée mettre un offset

ActiveCell.Offset(0, 1).Value = "seconde valeur"

Voilà c'est une soluce il y en a d'autres

Salutations

RGI

Merci mais je ne veux pas que mes valeurs s'affichent dans une msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en fonction
de la variable que je vous ai indiqué tout à l'heure?



Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI


Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?








Avatar
Job
J'ai essayé le code de l'adresse que vous m'avez donné mais ce n'est pas du
tout ce qu'il me faut en fait: premièrement il faudrait que quand je tape ma
variable dans la première cellule et que je la valide, le programme copie
directement les cellules du fichier fermé dans les cellules en dessous de la
première cellule et pas dans une msgbox.
Pouvez vous m'expliquer déjà comment faire sans variable: avec un seul
fichier, par exemple quand je tape FGH87 dans B1, il faudrait qu'il copie les
cellules H5 à H9 du fichier fermé : "SourceComptaProjet FGH87" (par
exemple) à la place des cellules B2 à B5 de mon fichier ouvert.

Merci d'avance.


Merci mais je ne veux pas que mes valeurs s'affichent dans une msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en fonction
de la variable que je vous ai indiqué tout à l'heure?


Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI

Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?








Avatar
RGI
si on reprend le code de Papou Merci à lui

Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")

Dim arg As String

On Error GoTo HandleErr
'Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If

'Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)

'Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)

ExitHere:
Exit Function

HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
End Function


Sub TestGetValue()

Dim p As String
Dim f As String
Dim s As String
Dim a As String

p = "D:SourceCompta"
f = [b1] &".xls"
s = "Feuil1"
a = "A1"

MsgBox GetValue(p, f, s, a)

' la valeur de cette fonction on peut maintenant la placer dans une
cellule de la feuille du classeur actif

'ici dans la cellule active

ActiveCell = GetValue(p, f, s, a)

End Sub


ensuite suivre l'envoi précédent

RGI


J'ai essayé le code de l'adresse que vous m'avez donné mais ce n'est pas du
tout ce qu'il me faut en fait: premièrement il faudrait que quand je tape ma
variable dans la première cellule et que je la valide, le programme copie
directement les cellules du fichier fermé dans les cellules en dessous de la
première cellule et pas dans une msgbox.
Pouvez vous m'expliquer déjà comment faire sans variable: avec un seul
fichier, par exemple quand je tape FGH87 dans B1, il faudrait qu'il copie les
cellules H5 à H9 du fichier fermé : "SourceComptaProjet FGH87" (par
exemple) à la place des cellules B2 à B5 de mon fichier ouvert.

Merci d'avance.



Merci mais je ne veux pas que mes valeurs s'affichent dans une msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en fonction
de la variable que je vous ai indiqué tout à l'heure?



Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI


Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?










Avatar
Job
Il y a cependant une erreur de compilation que je n'arrive pas à résoudre:
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue



si on reprend le code de Papou Merci à lui

Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")

Dim arg As String

On Error GoTo HandleErr
'Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If

'Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)

'Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)

ExitHere:
Exit Function

HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
End Function


Sub TestGetValue()

Dim p As String
Dim f As String
Dim s As String
Dim a As String

p = "D:SourceCompta"
f = [b1] &".xls"
s = "Feuil1"
a = "A1"

MsgBox GetValue(p, f, s, a)

' la valeur de cette fonction on peut maintenant la placer dans une
cellule de la feuille du classeur actif

'ici dans la cellule active

ActiveCell = GetValue(p, f, s, a)

End Sub


ensuite suivre l'envoi précédent

RGI


J'ai essayé le code de l'adresse que vous m'avez donné mais ce n'est pas du
tout ce qu'il me faut en fait: premièrement il faudrait que quand je tape ma
variable dans la première cellule et que je la valide, le programme copie
directement les cellules du fichier fermé dans les cellules en dessous de la
première cellule et pas dans une msgbox.
Pouvez vous m'expliquer déjà comment faire sans variable: avec un seul
fichier, par exemple quand je tape FGH87 dans B1, il faudrait qu'il copie les
cellules H5 à H9 du fichier fermé : "SourceComptaProjet FGH87" (par
exemple) à la place des cellules B2 à B5 de mon fichier ouvert.

Merci d'avance.



Merci mais je ne veux pas que mes valeurs s'affichent dans une msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en fonction
de la variable que je vous ai indiqué tout à l'heure?



Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI


Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?













Avatar
RGI
pour ex

créer un fichier machin.xls
avec des données en A1
des données en B1
et des données en C1
le sauvegarder sur C:

fermer ce fichier
et lancer celui-ci
http://cjoint.com/?htr0hB48BR

se placer dans la feuil1 et se mettre en A1 par ex

faire Alt + f8 et executer la macro

les données devraient s'inscrire si pas d'erreur en A1, B1,C1

RGI

Il y a cependant une erreur de compilation que je n'arrive pas à résoudre:
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue




si on reprend le code de Papou Merci à lui

Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")

Dim arg As String

On Error GoTo HandleErr
'Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If

'Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)

'Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)

ExitHere:
Exit Function

HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
End Function


Sub TestGetValue()

Dim p As String
Dim f As String
Dim s As String
Dim a As String

p = "D:SourceCompta"
f = [b1] &".xls"
s = "Feuil1"
a = "A1"

MsgBox GetValue(p, f, s, a)

' la valeur de cette fonction on peut maintenant la placer dans une
cellule de la feuille du classeur actif

'ici dans la cellule active

ActiveCell = GetValue(p, f, s, a)

End Sub


ensuite suivre l'envoi précédent

RGI



J'ai essayé le code de l'adresse que vous m'avez donné mais ce n'est pas du
tout ce qu'il me faut en fait: premièrement il faudrait que quand je tape ma
variable dans la première cellule et que je la valide, le programme copie
directement les cellules du fichier fermé dans les cellules en dessous de la
première cellule et pas dans une msgbox.
Pouvez vous m'expliquer déjà comment faire sans variable: avec un seul
fichier, par exemple quand je tape FGH87 dans B1, il faudrait qu'il copie les
cellules H5 à H9 du fichier fermé : "SourceComptaProjet FGH87" (par
exemple) à la place des cellules B2 à B5 de mon fichier ouvert.

Merci d'avance.




Merci mais je ne veux pas que mes valeurs s'affichent dans une msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en fonction
de la variable que je vous ai indiqué tout à l'heure?




Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI



Bonjour, je voudrais qu'en fonction d'une variable X contenu dans une ligne
je puisse copier-coller des valeurs dans les lignes qui suivent à partir d'un
fichier qui porte le nom de ma variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un nom du type
"Projet XXX", il faudrait que le programme importe des valeurs dans les
cellules B2, B3, B4, etc, contenu dans différentes cellules d'un autre
fichier excel du nom de la variable que j'aurai alors rentrée en B1.
Par où commencer?















Avatar
RGI
Oupss renommer la feuil1 en tito

pour ex

créer un fichier machin.xls
avec des données en A1
des données en B1
et des données en C1
le sauvegarder sur C:

fermer ce fichier
et lancer celui-ci
http://cjoint.com/?htr0hB48BR

se placer dans la feuil1 et se mettre en A1 par ex

faire Alt + f8 et executer la macro

les données devraient s'inscrire si pas d'erreur en A1, B1,C1

RGI

Il y a cependant une erreur de compilation que je n'arrive pas à
résoudre:
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue




si on reprend le code de Papou Merci à lui

Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")

Dim arg As String

On Error GoTo HandleErr
'Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If

'Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)

'Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)

ExitHere:
Exit Function

HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
End Function


Sub TestGetValue()

Dim p As String
Dim f As String
Dim s As String
Dim a As String

p = "D:SourceCompta"
f = [b1] &".xls"
s = "Feuil1"
a = "A1"

MsgBox GetValue(p, f, s, a)

' la valeur de cette fonction on peut maintenant la placer dans une
cellule de la feuille du classeur actif

'ici dans la cellule active

ActiveCell = GetValue(p, f, s, a)

End Sub


ensuite suivre l'envoi précédent

RGI



J'ai essayé le code de l'adresse que vous m'avez donné mais ce
n'est pas du tout ce qu'il me faut en fait: premièrement il
faudrait que quand je tape ma variable dans la première cellule et
que je la valide, le programme copie directement les cellules du
fichier fermé dans les cellules en dessous de la première cellule
et pas dans une msgbox.
Pouvez vous m'expliquer déjà comment faire sans variable: avec un
seul fichier, par exemple quand je tape FGH87 dans B1, il faudrait
qu'il copie les cellules H5 à H9 du fichier fermé :
"SourceComptaProjet FGH87" (par exemple) à la place des cellules
B2 à B5 de mon fichier ouvert.

Merci d'avance.



Merci mais je ne veux pas que mes valeurs s'affichent dans une
msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en
fonction de la variable que je vous ai indiqué tout à l'heure?



Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI


Bonjour, je voudrais qu'en fonction d'une variable X contenu
dans une ligne je puisse copier-coller des valeurs dans les
lignes qui suivent à partir d'un fichier qui porte le nom de ma
variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un
nom du type "Projet XXX", il faudrait que le programme importe
des valeurs dans les cellules B2, B3, B4, etc, contenu dans
différentes cellules d'un autre fichier excel du nom de la
variable que j'aurai alors rentrée en B1.
Par où commencer?















Avatar
Job
Bonjour!
J'ai un petit problème, lors de l'execution de la macro que vous m'avez
donné il y a une erreur: il me dit que la feuil tito n'existe pas, pourtant
j'ai bien renommé la feuil1 en tito par contre j'ai juste changé la
destination du fichier "machin.xls", il est desormais sur le lecteur Y: au
d'être sur le C:, cela ne viendrait pas de ça par hasard?


Oupss renommer la feuil1 en tito

pour ex

créer un fichier machin.xls
avec des données en A1
des données en B1
et des données en C1
le sauvegarder sur C:

fermer ce fichier
et lancer celui-ci
http://cjoint.com/?htr0hB48BR

se placer dans la feuil1 et se mettre en A1 par ex

faire Alt + f8 et executer la macro

les données devraient s'inscrire si pas d'erreur en A1, B1,C1

RGI

Il y a cependant une erreur de compilation que je n'arrive pas à
résoudre:
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue




si on reprend le code de Papou Merci à lui

Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")

Dim arg As String

On Error GoTo HandleErr
'Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If

'Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)

'Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)

ExitHere:
Exit Function

HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical,
"Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
End Function


Sub TestGetValue()

Dim p As String
Dim f As String
Dim s As String
Dim a As String

p = "D:SourceCompta"
f = [b1] &".xls"
s = "Feuil1"
a = "A1"

MsgBox GetValue(p, f, s, a)

' la valeur de cette fonction on peut maintenant la placer dans une
cellule de la feuille du classeur actif

'ici dans la cellule active

ActiveCell = GetValue(p, f, s, a)

End Sub


ensuite suivre l'envoi précédent

RGI



J'ai essayé le code de l'adresse que vous m'avez donné mais ce
n'est pas du tout ce qu'il me faut en fait: premièrement il
faudrait que quand je tape ma variable dans la première cellule et
que je la valide, le programme copie directement les cellules du
fichier fermé dans les cellules en dessous de la première cellule
et pas dans une msgbox.
Pouvez vous m'expliquer déjà comment faire sans variable: avec un
seul fichier, par exemple quand je tape FGH87 dans B1, il faudrait
qu'il copie les cellules H5 à H9 du fichier fermé :
"SourceComptaProjet FGH87" (par exemple) à la place des cellules
B2 à B5 de mon fichier ouvert.

Merci d'avance.



Merci mais je ne veux pas que mes valeurs s'affichent dans une
msgbox.
Je sais copier des valeurs d'une cellule mais comment le faire en
fonction de la variable que je vous ai indiqué tout à l'heure?



Bonjour

Pour commencer

http://www.excelabo.net/xl/messages.php#top

Salutations

RGI


Bonjour, je voudrais qu'en fonction d'une variable X contenu
dans une ligne je puisse copier-coller des valeurs dans les
lignes qui suivent à partir d'un fichier qui porte le nom de ma
variable X.
Exemple: Lorsque par exemple je taperais dans la cellule B1 un
nom du type "Projet XXX", il faudrait que le programme importe
des valeurs dans les cellules B2, B3, B4, etc, contenu dans
différentes cellules d'un autre fichier excel du nom de la
variable que j'aurai alors rentrée en B1.
Par où commencer?


















1 2