Microsoft 365 Erreur exécution 9 et fermeture automatique des fichiers

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ptitloups56

XLDnaute Nouveau
Bonjour à vous,
j'ai XL 2024, il réagi comme le 365.
Le novice de retour après des recherches et de nombreux essais je ne trouve pas
J'ai deux fichiers, je souhaiterais avec RepertoireTelephonique (UserForm) du fichier 1 transférer mes données dans le fichier 2 feuil20 ou (" sources"), si possible fichier 2.xlsx fermé.
Pourquoi ces deux fichiers ? simplement pour éviter que le fichier soit trop lourd et mette trop de temps à s'exécuter.
Je souhaiterais également que lorsque j'active le bouton sauvegarde du fichier 1 cela ferme le fichier 1 et fichier 2 à la fois et qu'une copie des deux fichiers aille dans un endroit définie (D:\Mes documents)
Merci pour votre sollicitude.

PS : j'ai oublier de préciser de récupérer mes donnes du fichier 2 dans l'UserForm du fichier 1
 

Pièces jointes

Dernière édition:
Solution
Bonjour

si tu as regardé le code,
j'ai mis indice à 1 pour pouvoir tester la fonction LoadUSF
il n'y a donc rien qui permet d'afficher autre chose que la ligne 1
si tu veux affichier suivant le nom de l'entreprise
1) vérifier qu'une entreprise a bien été saisie
2) chercher l'entreprise dans la table structurée (en utilisant la bonne colonne)
3) récupérer l'indice de ligne
4) lancer la macro "LoadUSF "avec l'indice
Merci beaucoup pour tes précieuse informations et renseignements
Belle journée
Bonjour

ton projet me semble assez "jeune" dans sa définition
1) nul besoin d'avoir deux fichiers: un pour les macros, et un pour les données: avant d'avoir un ralentissement, il va falloir sacrément remplir ton répertoire
2) utilise les tables structurées

voir PJ
 

Pièces jointes

Bonjour

ton projet me semble assez "jeune" dans sa définition
1) nul besoin d'avoir deux fichiers: un pour les macros, et un pour les données: avant d'avoir un ralentissement, il va falloir sacrément remplir ton répertoire
2) utilise les tables structurées

voir PJ
Bonjour
Bonjour

ton projet me semble assez "jeune" dans sa définition
1) nul besoin d'avoir deux fichiers: un pour les macros, et un pour les données: avant d'avoir un ralentissement, il va falloir sacrément remplir ton répertoire
2) utilise les tables structurées

voir PJ
Bonjour Vgendron,
Mon dossier il a fallu le faire maigri énormément pour le mettre en ligne, j'ai plusieurs onglets que j'adapterais avec le code trouvé, voila pourquoi dans un deuxième fichier
 
Hello

En général, un ralentissement du classeur est bien souvent du à un code pas assez optimisé, plus qu'à une base de donnée importante..
j'ai des fichiers de plusieurs Mo qui tournent très bien

le peu de code que j'ai vu (et que j'ai supprimé, ou mis en commentaire dans ma proposition) me faire dire qu'il y a de quoi optimiser.. si ca t'interresse.. il faudrait alors reposter ton fichier sans donnée confidentielle, bien sur
et pour l'alléger, il suffit bien souvent de ne garder QUE quelques lignes de données
 
hello

ici le code corrigé
VB:
Private Sub CbEnregistrer_Click()

    Dim ind As Integer
    Dim NumLigne As Long
    NumLigne = CodeExiste(Me.TextCodeclient) 'on vérifie si le code existe déjà et on récupère son numéro de ligne'
    If NumLigne <> -1 Then 'le code n'existe pas
        If MsgBox("Ce code client existe déjà, souhaitez-vous le modifier", vbYesNo) = vbNo Then
            Exit Sub
        End If
    Else
        NumLigne = Sheets("Répertoire").ListObjects("t_Répertoire").ListRows.Add.Index 'on ajoute une ligne dans la Table et on note son index'
    End If
    
    Call SaveUSF(NumLigne) 'on enregistre les données du formualaire'
End Sub
 
et j'en profite pour le code du bouton "Supprimer"
VB:
Private Sub CbSupprimer_Click()
Dim trouve As Range
    With Sheets("Répertoire").ListObjects("t_Répertoire")
        Set trouve = .ListColumns("Code Client").Range.Find(Me.TextCodeclient, lookat:=xlWhole)
        If Not trouve Is Nothing Then
            .ListRows(trouve.Row - .Range.Row).Range.Delete
        End If
    End With
End Sub
 
et j'en profite pour le code du bouton "Supprimer"
VB:
Private Sub CbSupprimer_Click()
Dim trouve As Range
    With Sheets("Répertoire").ListObjects("t_Répertoire")
        Set trouve = .ListColumns("Code Client").Range.Find(Me.TextCodeclient, lookat:=xlWhole)
        If Not trouve Is Nothing Then
            .ListRows(trouve.Row - .Range.Row).Range.Delete
        End If
    End With
End Sub
Bonjour Vgendron,
Merci pour ton aide par contre lorsque j'effectue un affichage il affiche que la première ligne, est il possible qu'il affiche suivant le nom de l'entreprise ?
 
Bonjour

si tu as regardé le code,
j'ai mis indice à 1 pour pouvoir tester la fonction LoadUSF
il n'y a donc rien qui permet d'afficher autre chose que la ligne 1
si tu veux affichier suivant le nom de l'entreprise
1) vérifier qu'une entreprise a bien été saisie
2) chercher l'entreprise dans la table structurée (en utilisant la bonne colonne)
3) récupérer l'indice de ligne
4) lancer la macro "LoadUSF "avec l'indice
 
Bonjour

si tu as regardé le code,
j'ai mis indice à 1 pour pouvoir tester la fonction LoadUSF
il n'y a donc rien qui permet d'afficher autre chose que la ligne 1
si tu veux affichier suivant le nom de l'entreprise
1) vérifier qu'une entreprise a bien été saisie
2) chercher l'entreprise dans la table structurée (en utilisant la bonne colonne)
3) récupérer l'indice de ligne
4) lancer la macro "LoadUSF "avec l'indice
Merci beaucoup pour tes précieuse informations et renseignements
Belle journée
 
Grrr... je viens de voir ton autre post
tu pourrais pas rester dans le meme sujet et poster tout ton fichier
ca permettrait d'avoir une réponse plus adaptée à ton projet
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour