Enregistrer des données sur une seconde feuille

Bonjour à tous je suis nouveau sur excel vba et je ne comprends pas grand chose aux lignes de code, je travail actuellement sur une feuille excel et je voudrais pouvoir enregistrer les données d'une feuille dans une autre qui sert de bdd (ce qui j'ai relativement réussi à faire) par contre pour éviter les doublons j'aimerais qu'on ne puisse entrer une date qu'une seule fois. En cherchant sur le net j'ai réussi à rédiger un code qui à mon avis aurait du me permettre de contraindre les date en question. Cependant il ne marche pas et bloque automatiquement toute tentative de saisie de nouvelles données dans la bdd. Voici le code en question, quelqu'un pourrait m'aider et me dire pourquoi il ne marche pas ? Merci d'avance.

Sub Horaire()

On Error Resume Next

Set rg = Feuil2.Range("A1").EntireColumn.Find(Replace(TextDate, " ", vbNullString), lookat:=xlWhole) 'Cherche la date dans la colonne A de la base de donnée

If Not rg Is Nothing Then 'si rg ne renvoie pas "rien" c'est qu'il y a un doublon

MsgBox "Cette date est déjà existante, opération annulée" 'message à faire apparaitre en cas de doublon de date

Exit Sub 'on sort alors de la fonction pour ne pas enregistrer les données dans la base

Else 'sinon toute la suite du code est faite si la date n'est pas déjà entrée

Feuil2.Activate

Dim lig As Integer

lig = Range("a65568").End(xlUp).Row + 1

Range("a" & lig).Value = Date

Range("b" & lig).Value = Feuil1.Range("J13").Value

Range("c" & lig).Value = Feuil1.Range("J15").Value

Range("d" & lig).Value = Feuil1.Range("J18").Value

Range("e" & lig).Value = Feuil1.Range("J20").Value

Range("f" & lig).Value = Feuil1.Range("J23").Value

Range("g" & lig).Value = Feuil1.Range("J25").Value

Range("h" & lig).Value = Feuil1.Range("J28").Value

Range("i" & lig).Value = Feuil1.Range("J29").Value

End If

End Sub

Bonjour Jack_Jean le forum

si tu passes le fichier et les explications dedans on va te modifier cela

a+

Papou

Bonjour Paritec, merci de l’intérêt que tu portes à mon poste.

J'ai simplifié le fichier pour montrer juste un exemple de ce que je voudrais faire. Dans le classeur joint il y'a deux feuilles une de "données" et une de "base" j'aimerais pouvoir enregistrer les données issus de la feuille "donnes" dans la feuille "base" tout en contraignant la date pour éviter les doublons de façon à ne pouvoir rentrer une date qu'une seule fois. J'ai écris un code qui permet l'enregistrement mais dès que je veux contraindre la date cela ne marche plus (ça me dit que la date existe déjà et bloque l'enregistrement même quand il n'y a aucune date de rentrée ) ce que je ne comprends pas.

C'est un code que je réutiliserai à plusieurs reprises par la suite j'aimerais bien si quelqu'un à une solution qu'il me mette une explication du fonctionnement de son code pour que je puisse le comprendre, le modifier et le reproduire à ma guise.

J'aimerai également un modèle de code si quelqu’un en a un, qui me permettrait une fois enregistrer, d'afficher les données de la base de données dans un formulaire en fonction de la date (jour choisi) cela m'aiderait beaucoup.

Merci d'avance pour votre aide.

Bonjour Jean Jack le forum

ton fichier en retour avec l'archivage comme tu le voulais

par contre ta formule aujourd'hui dans A1:C1 me paraît une bétise!!

si tu n'es pas là le jour J tu fais comment???

avec un calendrier et le choix d'une date cela me paraitrait mieux, mais c'est toi qui voit

a+

Papou

13jean-jack-v1.xlsm (16.59 Ko)

Merci Paritec pour la rémarque je vais privilégier le calendrier plutôt que la formule "aujourhui".

Par contre je viens d'essayer ton code il marche pour ce qui est de la date d'aujourhui, j'ai voulu l'essayer en changeant de date il ne marche plus il continu à m'enregistrer quand mème la mème date pluiseurs fois. C'est peut ètre parceque le code récherche une fonction date dans la cellule cible alors que moi je l'ai changé manuellement ?

Et j'ai une dernière question est ce que tu saurais comment afficher dans un formulaire les données ainsi stocker en fonction de la date choisie ?

Merci d'avance

Bonjour Jean Jack le forum

tu fournis un fichier je te modifie la macro pour aller avec ce fichier si maintenant tu changes des choses il faut le dire et on va modifier, mais si tu remplis une date au format date jj/mm/aaaa il ne devrait pas y avoir de problème

a+

Papou

Bonjour Jean Jack le forum

tu fournis un fichier je te modifie la macro pour aller avec ce fichier si maintenant tu changes des choses il faut le dire et on va modifier, mais si tu remplis une date au format date jj/mm/aaaa il ne devrait pas y avoir de problème

Voilà pour démonstration ton fichier sans ta formule avec la date rentrée correctement et tu peux cliquer archiver tu ne pourras pas le faire, tu auras le message !!!!

alors de quel manière tu pratiques???? là?????

a+

Papou

11jean-jack-v2.xlsm (18.81 Ko)

Merci pour ta réponse, en faite le but de ma démarche c'est de pouvoir entrer durant un certain nombre de jours dans l'année une production par jour. Et pour éviter de faire des doublons j'aimerai qu'on ne puisse entrer une date qu'une seule fois , mais par-contre qu'on puisse en entrer autant qu'on veut de date au format jj/mm/aaaa. Dans le code comme il est est dès qu'on ajoute une nouvelle date ( ou qu'on change une date en gardant le même format jj/mm/aaaa) il ne marche plus et permet la répétition de doublons. Je ne sais pas si je me fais comprendre ?

Et encore merci de prendre tout ce temps pour me répondre vous êtes génial les gars

Re Jean jack le forum

est-ce que tu as testé le fichier que je t'ai envoyé à 10h55 ?????

non certainement, car là tu verrais qu'avec la date du 13/06/2019 tu ne peux pas enregistrer!!!

alors ta version excel c’est quoi FR ? EN?

à te relire

a+

Papou

Bonjour Paritec, oui je l'ai essayé et comme tu l'as dit j'arrive pas à enregistrer, je travail sur excel 2013 en FR.

Merci d'avance pour ta réponse

Re Jean Jack le forum

bon alors là si toi tu entres une date au format JJ/MM/AAAA tu dis que cela te permet d'enregistrer plusieurs lignes avec la même date?

ta version c'est bien une FR???

a+

Papou

Re Bonjour Jean Jack le forum

bon pour terminer ce post, voilà la version avec un calendrier, donc normalement plus de problème possible de format, puisque c'est plus toi qui tape mais le calendrier qui rempli le textbox

a+

Papou

Re Bonjour Jean Jack le forum

bon pour terminer ce post, voilà la version avec un calendrier, donc normalement plus de problème possible de format, puisque c'est plus toi qui tape mais le calendrier qui rempli le textbox

a+

Papou

20jean-jack-v3.xlsm (40.60 Ko)

Merci Paritec d'avoir pris le temps de me répondre, ça répond à ce que je voulais.

Bonne continuation vous faites du bon boulot les gars

Re bonjour Jean Jack le forum

oui moi aussi j'aime bien ta réponse!!

a+

Papou

Rechercher des sujets similaires à "enregistrer donnees seconde feuille"