Bonjour,
Je cherche a renommer des fichiers listes dans une colonne pour un nom listé dans une autre colonne.
J'ai une table "Old-to-New-filename" (cree via Power Query) dans cette table, entre autre, j'ai mon nom de fichier actuel, et le nom final (j'ai aussi le chemin si necessaire, ou je peux combiner les deux dans ma table).
Ma colonne avec l'ancien nom s'appelle "Old-Filename" celle avec le nouveau "New-Filename"
Note : J'ai besoin que le code prenne les colonnes de la table, et non pas les colonnes du fichier excel, car les tables sont souvent deplacees dans le fichier ( par contre generalement les tables ne changent pas de nom ni les colonnes (elles sont utilisees dans Power Automate)).
Par exemple dans le grand nombre de code que je trouve, celui ci me parait un des plus simple et proche de ce que je voudrais faire, mais il ne prends pas en compte des colonnes de table. De plus, ma maigre connaissnace du VBA bloque sur la facon dont rcell est compris, et donc comment on passe d'une valeur sur une colonne de celle correspondante sur une autre colonne.
le code suivant semble bien faire reference a une colonne de ma table, peut etre est-ce un point de depart ?
J'avoue, j'ai l'habitude de passer par un fichier batch intermediaire, mais la on me demande d'en faire un standard pour tous mes collegues sur un fichier template, avec un bouton a presser, et je m'embrouille avec le code VBA.
Pouvez-vous m'aider ?
Je cherche a renommer des fichiers listes dans une colonne pour un nom listé dans une autre colonne.
J'ai une table "Old-to-New-filename" (cree via Power Query) dans cette table, entre autre, j'ai mon nom de fichier actuel, et le nom final (j'ai aussi le chemin si necessaire, ou je peux combiner les deux dans ma table).
Ma colonne avec l'ancien nom s'appelle "Old-Filename" celle avec le nouveau "New-Filename"
Note : J'ai besoin que le code prenne les colonnes de la table, et non pas les colonnes du fichier excel, car les tables sont souvent deplacees dans le fichier ( par contre generalement les tables ne changent pas de nom ni les colonnes (elles sont utilisees dans Power Automate)).
Par exemple dans le grand nombre de code que je trouve, celui ci me parait un des plus simple et proche de ce que je voudrais faire, mais il ne prends pas en compte des colonnes de table. De plus, ma maigre connaissnace du VBA bloque sur la facon dont rcell est compris, et donc comment on passe d'une valeur sur une colonne de celle correspondante sur une autre colonne.
Code:
Sub ReName()
Dim rFiles As Range, rCell As Range
Dim strNewName As String, strOld As String
Dim strPath As String
Dim wbOpen As Workbook
Application.ScreenUpdating = False
Set rFiles = Range("A1", Range("A65536").End(xlUp))
strPath = "c:\My Documents\"
For Each rCell In rFiles
Old = strPath & rCell
strNewName = strPath & rCell(1, 2)
Name strOld As strNewName
Next rCell
Application.ScreenUpdating = True
End Sub
le code suivant semble bien faire reference a une colonne de ma table, peut etre est-ce un point de depart ?
VB:
'Reference parts of a table using the range object (as if it were a standard range object.)
ActiveSheet.Range("Old-to-New-filename[Old-Filename]").Select
J'avoue, j'ai l'habitude de passer par un fichier batch intermediaire, mais la on me demande d'en faire un standard pour tous mes collegues sur un fichier template, avec un bouton a presser, et je m'embrouille avec le code VBA.
Pouvez-vous m'aider ?