Bouton permettant copier/coller dossier et renommer

Bonjour tout le monde!!

j'ai besoin de vos lumières, je ne connais pas VBA mais j'utilise souvent des codes pour les mettre à ma sauce, mais j'avoue là, je bloque.

Donc je vous expose le projet:

J'ai un fichier excel regroupant le nom, prenom, date de naisssance, numéro d'identification par colonne

et souhaite intégrer un bouton sur chaque ligne qui permet de copier un dossier/sous dossier/fichiers dans un répertoire puis

que le dossier principal soit renommer selon le nom prénom date de naissance, ainsi qu'un fichier excel

de plus dans ce dernier fichier excel une cellule devra aussi récupérer le nom prénom...

J'ai réussi à trouver le code pour la copie d'un dossier/coller ainsi que pour le renommer mais le problème est qu'il faudrait que je créé un code par ligne.

Mon souhait serait qu'en fonction de la ligne où se trouve le bouton, il récupère les valeurs des cellules de cette même ligne pour renommer le fichier.

Est il possible de récupérer juste la valeur de la ligne où se trouve le bouton?

Pour renommer le fichier utiliser un code du genre : row (colonne 1, ligne du bouton) & row (colonne 2, ligne du bouton)...

Voilà j'espère avoir été assez clair, je n'ai malheureusement pas le fichier avec moi aujourd'hui mais je l'aurai lundi!

Merci des infos que vous pourrez me donner, en espérant ne pas trop cous avoirpris la tête!

Robert

Salut Robert, bienvenue sur le Forum

Ton fichier n'est pas passé

Cordialement.

joindre un fichier forum

Haha, normal car comme je le disais, je n'ai malheureusement pas le fichier avec moi, je l'aurai lundi! Je sais j'aurais dû attendre avant de poser une question mais si j'en parle pas, c'est le genre de truc qui va tourner dans ma petite cervelle tout le week-end.

Merci

Bob0780 a écrit :

.... car comme je le disais ....

Sans fichier, ça ne vaut souvent pas la peine de lire tout le texte. Je n'avais donc bien entendu pas lu ce passage.

Dans l'attente de ton fichier

Hello tout le monde!

Voilà les.fichiers, j'espère avoir été clair avec ma demande !

Merci pour ce qui peut être fait!

Robert

73personnes.zip (55.36 Ko)

Salut,

Ce serait d’une très grande complication que d’avoir un bouton par ligne. Par contre il serait possible de traiter une ligne ou l’autre en sélectionnant par exemple une cellule de la ligne à traiter avant de lancer l’unique macro placée derrière un unique bouton. Est-ce que ça pourrait te convenir ?

Et puis j’ai compris qu’en fonction du nom choisi sur telle ou telle ligne, tu désires une copie de ce fichier renommé selon la personne choisie, avec seulement les données de cette personne ; c’est bien ça ?

Et les nouveaux fichiers à créer seraient placés dans le même dossier que le fichier de base ?

Amicalement.

"Ce serait d’une très grande complication que d’avoir un bouton par ligne" --> oui et non, car il faut que le système soit simple pour la personne qui utilisera le fichier. Il y aura d'autres infos par colonne type adresse, date de prise en charge... et de plus de nombreuses lignes avec l'ajout d'autres personnes. c'est vrai que cela fera beaucoup de bouton mais il n'y aura qu'une macro pour tous ces boutons, enfin si on arrive à faire ce code.

"Et puis j’ai compris qu’en fonction du nom choisi sur telle ou telle ligne, tu désires une copie de ce fichier renommé selon la personne choisie, avec seulement les données de cette personne ; c’est bien ça ?" --> c'est exactement ça, un dossier standard qui sera copié/coller avec les infos de cette personne et donc qui deviendra personnel.

"Et les nouveaux fichiers à créer seraient placés dans le même dossier que le fichier de base ?" --> non, car je préfère le mettre ailleurs pour éviter de fausses manip. Nous serons plusieurs à utiliser les dossiers. Le problème, c'est si on déplace le dossier de base, les liens ne fonctionneront plus!

Voilà, cordialement

Robert

j'ai mis ce code sur un control activex pour pouvoir récupérer la ligne où se trouve le bouton, reste à intégrer cette valeur pour renommer le fichier:

Private Sub CommandButton1_Click()
Y = Cells(1, 1).Height
ligne = 1
While Y < CommandButton1.Top
ligne = ligne + 1
Y = Y + Cells(ligne, 1).Height
Wend
MsgBox "La cellul est : cells(" & [u]ligne [/u]& ")"

repertorier_fichier "C:\test excel\patient", "C:\test excel"

Dim AncienNom As String, NouveauNom As String

    AncienNom = "C:\test excel\programme\GESTION POIDS - date P.E.C\nom prénom date naissance.XLS"
    NouveauNom = "C:\test excel\programme\GESTION POIDS - date P.E.C\" & <info en fonction de la ligne où se trouve le bouton accoler avec le numéro de colonne, type range ("A" + "ligne")> & ".xls"
    Name AncienNom As NouveauNom

End Sub

Sub copier()
    repertorier_fichier "C:\test excel\patient", "C:\test excel"
End Sub

Public Sub repertorier_fichier(Source As String, Destination As String)
Dim Fso As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Fso.CopyFolder Source, Destination, True
Set Fso = Nothing

End Sub

Peut être pas très propre comme code mais pour l'instant ça fonctionne en partie!

Après multiple bidouille, j'ai un code qui renomme mon fichier excel en fonction de la ligne où se trouve le bouton

Private Sub CommandButton1_Click()
y = Cells(1, 1).Height
ligne = 1
While y < CommandButton1.Top
ligne = ligne + 1
y = y + Cells(ligne, 1).Height
Wend
MsgBox "La cellul est : cells(" & ligne & ")"

repertorier_fichier "C:\test excel\patient", "C:\test excel"

Dim AncienNom As String, NouveauNom As String
    AncienNom = "C:\test excel\programme\nom prénom date naissance.XLS"
    NouveauNom = "C:\test excel\programme\" & Range("B" & ligne) & " " & Range("C" & ligne) & ".xls"
    Name AncienNom As NouveauNom

End Sub

Sub copier()
    repertorier_fichier "C:\test excel\patient", "C:\test excel"
End Sub

Public Sub repertorier_fichier(Source As String, Destination As String)
Dim Fso As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Fso.CopyFolder Source, Destination, True
Set Fso = Nothing

End Sub

Qu'en pensez-vous?

Salut,

Bob0780 a écrit :

Qu'en pensez-vous?

Je pense que si tu as un code qui te convient, c’est très bien ainsi Personnellement je ne peux et ne veux t’aider que si tu as un problème bien précis pour lequel tu coinces. Mais comme je n’arrive pas à poster une solution que déjà tu as modifié ton code, tant mieux si tu trouves tes solutions tout seul.

Bonne continuation.

Haha, oui c'est vrai que je cherche beaucoup mais je ne sais jamais si je fais les choses comme il faut. Sinon si tu penses que c'est bon, reste là prochaine étape qui me semble compliquée. Récupérer l'informations d'une cellule et la copier dans le fichier Excel dont le nom a été modifié sans l'ouvrir. Et là je n'ai pas trouvé beaucoup d'info!une piste?

A propos merci de tes réponses.

Vu le déroulement de ce fil, je suis peu motivé pour chercher une solution à tes nouveaux problèmes. Je te conseille donc d'indiquer ce fil comme ‘’Résolu’’ (vu que peu de membres s’intéressent à un fil bien entamé) et que tu en recommences un autre avec un problème bien précis.

Mon conseil : n’ouvre un fil que si tu as réellement un problème et attends qu’on te propose une solution avant de dire que ton premier problème ne t’intéresse plus mais que tu en as un nouveau.

Amicalement.

Ça marche, à bientôt peut être!

Rechercher des sujets similaires à "bouton permettant copier coller dossier renommer"