Enregistrer oui, mais sur un nom de disque différent

Merci pour ces explications je comprends un peu mieux maintenant

Merci en tout cas de votre temps

@Ausecour : oui, ce que tu as indiqué est une très bonne idée !

dhany

Ah ... donc comment faire alors? :/ Je penses que plusieurs de mes collègue utiliseront mon outil et je pense que leur réseau "Qualité" n'est pas tous en Y ou Z ...

On peut faire ça éventuellement si on reprend son idée complètement :

Sub test()
On Error Resume Next 'En cas d'erreur, on continue
TableauLecteurs = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
nomf = "Y:\Indicateur\OTD\Outil de calcul OTD\Calcul OTD ms query\extraction de donnée clipper premiere partie.xlsm"

For i = LBound(TableauLecteurs, 1) To UBound(TableauLecteurs, 1) 'On va tester tous les lecteurs
    Mid$(nomf, 1, 1) = TableauLecteurs(i) 'On remplace la première lettre par une qui est dans le tableau
    If Dir(nomf, vbDirectory) = "" Then 'Si on ne trouve pas le fichier
    'on ne fait rien
    Else 'si on le trouve
        Workbooks.Open Filename:=nomf 'on l'ouvre
    End If
Next i

On Error GoTo 0
End Sub

D'accord, mais sa risque de prendre du temps non? Mon fichier engendre pas mal de macro, sa va le ralentir non?

Mais il est vrai que dans ce cas la il trouvera forcément le fichier.

En faite je veux anticipé un éventuel plantage si un nouveau collègue arrive.

C'était plus une idée qu'autre chose après, je ne sais pas du tout combien de temps ça prendrait à éxécuter ça... il faudrait tester j'imagine pour s'en rendre compte

D'accord merci je note et je garde sa en tête ou cas ou.

Je vais prendre le plus simple niveau code

Merci beaucoup !!!

@Ausecour (c'est par rapport à ton message de 08:53)

ah non, ta variable array TableauLecteurs est inutile ! adaptation de ton code :

Option Explicit

Sub test()
  On Error Resume Next 'En cas d'erreur, on continue
  Dim nomf$, i As Byte
  nomf = "Y:\Indicateur\OTD\Outil de calcul OTD\Calcul OTD ms query\extraction de donnée clipper premiere partie.xlsm"
  For i = 65 To 90
    Mid$(nomf, 1, 1) = Chr$(i) 'On remplace la 1ère lettre par A à Z (successivement)
    If Dir(nomf, vbDirectory) <> "" Then Workbooks.Open nomf 'Si on trouve le fichier, on l'ouvre
  Next i
  On Error GoTo 0
End Sub

dhany

Ah oui en effet! Je l'avais oublié ce Chr() !

Tu te rappelles comment on a le code Chr d'une lettre d'ailleurs? C'est via une fonction que j'oublie tout le temps je crois...

@Ausecour

MsgBox Asc("A") retourne 65 ; MsgBox Asc("Chat") retourne 67 car ça retourne le code ASCII de la 1ère lettre du mot « Chat » ; ASCII est le sigle de American Standard Code for Information Interchange = code standard américain pour l'échange d'information = codage numérique de tous les caractères ; c'est une ancienne norme encore utilisée, même s'il y a aussi Unicode ; Asc est bien sûr l'abréviation du sigle ASCII ; équivalent sur feuille de calcul : =CODE("Chat")

dhany

@dhany

Super merci pour l'info

Bonne journée

@Ausecour

c'était avec plaisir ! bonne journée à toi aussi !

dhany

Bonjour!

C'est encore moi le relou avec ses macros !

Je reviens vers vous, vous m'avez fait une super macro qui fonctionne parfaitement.

Option Explicit
Sub enregistrer()
Dim nomf As String
Application.DisplayAlerts = False
On Error GoTo erreur

    nomf = ThisWorkbook.Path & "\" & Range("E15").Value & "_" & Range("E19").Value & ".xlsx"
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:=nomf, FileFormat:=xlOpenXMLWorkbook
    ActiveWorkbook.Close

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Est-il possible d'enregistrer dans un sous dossier?

Chemin actuel :Y:\Indicateur\OTD\Outil de calcul OTD

Chemin souhaité : Y:\Indicateur\OTD\Outil de calcul OTD\Clients Mensuel

Je pense que sa va engendrer quelques modifications ...

Bien sur sans le Y: hein

Merci d'avance !

Bonjour,

Quelque chose comme ça?

Option Explicit
Sub enregistrer()
Dim nomf As String
Dim sous_dos as String
Application.DisplayAlerts = False
On Error GoTo erreur

    sous_dos = "\Clients Mensuel"
    nomf = ThisWorkbook.Path & sous_dos & "\" & Range("E15").Value & "_" & Range("E19").Value & ".xlsx"
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:=nomf, FileFormat:=xlOpenXMLWorkbook
    ActiveWorkbook.Close

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Bonjour, Merci!

Je vais tester ça mais sa à l'air mucho bueno !

Du coup, tu pense que ce code:

    sous_dos = "\Clients Mensuel"

peut-être relier par rapport à un texte d'une cellule?

EDIT: sa fonctionne super bien ton code ! Du coup je peux même mettre un sous sous dossier enfin faut que je le code ^^

Bonjour Lasgalen,

si tu mets "\Clients Mensuel" par exemple en E12 :

nomf = ThisWorkbook.Path & [E12] & "\" & [E15] & "_" & [E19] & ".xlsx"


si tu mets "Clients Mensuel" par exemple en E12 :

nomf = ThisWorkbook.Path & "\" & [E12] & "\" & [E15] & "_" & [E19] & ".xlsx"

dhany

Super merci !!!!

Merci les gars grâce à vous je vais faire un logiciel béton pour mon projet Tut !

génial ! j'te souhaite une très bonne note pour ton projet !

dhany

Sa devrais le faire vu l'aide que j'ai eu Ici !

ou alors, c'est qu'ton prof est vach'ment difficile et note super sévère !!!

dhany

Il va noter sévère quand meme xD rapport de stage + projet tut coeff 22 ...

Validation de licence pro métrologie et qualité

Rechercher des sujets similaires à "enregistrer nom disque different"