Ecrire sur un fichier fermé sans redondance

  • Initiateur de la discussion Initiateur de la discussion pinou95
  • Date de début Date de début

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 !

pinou95

XLDnaute Nouveau
Bonjour tout le monde,

j'ai un petit souci à vous faire partager. J'ai vu qu'il existait déjà des post sur ce sujet mais mes connaissances en vb étant très limitées, j'ai du mal à transposé les exemples à mon cas.
Je vous explique:
J'ai un fichier excel (Formulaire.xls) où des chargés d'affaires éditent des données et une macro qui copient les données rentrées sur la dernière ligne d'un autre fichier excel (BDD ID.xls) là où çà va bien et efface celles rentrées sur "Formulaire" pour qu'ils puissent recommencer.
Jusque là çà fonctionne bien mis à part qu'il est obligatoire d'ouvrir le fichier destinataire à savoir "BDD ID". Or je souhaite que ces chargés d'affaires n'aient pas accès à ce fichier et donc qu'il reste fermé.
J'en appel donc à votre aide en vous joignant les deux fichiers.
Mon deuxième pb est que j'aimerai qu'on ne puisse écrire 2 fois la même chose, c'est à dire qu'il y ai une vérification de la première colonne de "BDD ID" (Ref. DV) vis à vis du champ D7 du fichier "Formulaire" et un message d'erreur s'ils sont identiques.

Merci à tous car mes compétences sont très limitées.
 

Pièces jointes

Re : Ecrire sur un fichier fermé sans redondance

Bonjour Pinou95,


Travailler avec un fichier caché est je crois très difficile.

Tu peux par contre réaliser une ouverture du fichier BDD ID.xls sans affichage enregistrer les donées dedans, l'enregistrer et le refermer avant de remettre l'affichage.

Sub OuvrirReportEnrgtFermer()
' Désactivation de l'affichage
Application.ScreenUpdating = False
' Ouverture du fichier
ChDir "C:\...//Classeur1.xls"
'Enregistrement des données dans le classeur

'Ici la macro d 'enregistrement

'Enregistrement du classeur
ActiveWorkbook.Save
'Fermeture du classeur
ActiveWorkbook.Close
' Activation de l'affichage
Application.ScreenUpdating = True
End Sub


L'opération de report des données sera réalisée très vite et de façon inaperçue.

Cordialement

Bernard
 
Re : Ecrire sur un fichier fermé sans redondance

Merci à toi CBernardT, je vais essayer çà.
C'est vrai que j'avais pas pensé à ce genre d'approche.
Je tente tout de suite par contre pour la confrontation entre la colonne A de "BDD ID" avec une donnée du fichier source avant l'écriture, penses-tu connaître une solution aussi simple ?
 
Re : Ecrire sur un fichier fermé sans redondance

Bonsoir Pinou95,

Seul le formulaire est joint.

La macro d'enregistrement a été modifiée en profondeur.

L'enregistrement est réalisé avec ouverture automatique du classeur BDD sans affichage.

Dans la macro, il te reste à modifier le chemin d'accès au fichier BDD et cela devrait aller.

L'enregistrement en double d'une référence est bloqué.

Cordialement

Bernard
 

Pièces jointes

Dernière édition:
Re : Ecrire sur un fichier fermé sans redondance

Bon pour le fichier que tu m'as envoyé, çà marche nickel.
Je te remercie pour ton efficacité.
Je vais maintenant voir si je peux ajouter un message d'erreur du genre "cette référence existe déjà" lorsque c'est le cas.
Merci pour ton aide en tout cas.🙂
 
- 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