Bouton VBA pour automatiser une saisie

Bonjour à tous,

Je suis actuellement en train d'essayer de créer un bouton VBA destiné à renseigner une valeur donnée dans une autre page, selon quelques conditions. L'idée est d'automatiser une saisie pour éviter une très longue recherche dans trop d'onglets / calendriers. On va chercher à ce que chaque activation du bouton puisse aller renseigner la valeur inscrite en B6 à sa place dans la feuille du salarié correspondant. Le bouton est présent sur la page "Saisie" et les autres pages ont le nom d'un potentiel salarié de l'entreprise.

On s'intéresse au nom de la personne --> va définir dans quelle page on va renseigner la donnée.

La date qui lui est associée --> Où la donnée doit être positionnée dans le calendrier du salarié.

Et finalement sous quel format de travail --> Dans quelle colonne elle devra être inscrite.

Voici le VBA que j'ai actuellement (je me doute que c'est très mauvais, mais je voulais au moins essayer d'y expliquer l'idée)

Private Sub CommandButton1_Click()
Dim Saisie As Worksheet
Dim feuillecherch As Worksheet
Dim plagedate As Range
Dim plageformat As Range
Dim Trouvedate As Range
Dim Trouveformat As Range
Dim Valeurdate As Date
Dim Valeurformat As Integer
Dim resultat As Integer

'Je trouve la page'
Set Saisie = Worksheets("Saisie")
Set feuillecherch = Worksheets(Range("B5"))

'Je vais chercher ma date et je trouve la ligne correspondante'
Set plagedate = feuillecherch.Range("E21:E389")
Set Valeurdate = Saisie.Range("B4")
Set Trouvedate = plagedate.Cells.Find(What:=Valeurdate)

'Je vais chercher le format et j'en déduis la colonne'
Set plageformat = feuillecherch.Range("G20:J20")
Set Valeurformat = Saisie.Range("B4")
Set Trouveformat = plageformat.Cells.Find(What:=Valeurformat)

'Et là il faudrait réussir à se positionner grâce aux informations collectées'
Set resultat = Cells.Range(Trouvedate, Trouveformat)

End Sub

Au final, est-ce que le VBA est forcément nécessaire ? Si oui, est-ce que ma requête vous semble réalisable ?
J'ai essayé de créer un petit document, si mon message n'est pas clair, ne pas hésiter à me faire préciser certains points ! :)

Merci d'avance pour votre aide

19test-compteurs.xlsm (43.50 Ko)

Bonjour

Remarque:

Ta date de saisie 2020 n'existe pas sur ta feuille ARTAUD ou tout est en 2021

Pour tester, j'ai mis B1 de la Feuille base en 2019

2 formules en D5 et D6 de la Feuille Saisie donnent la ligne et la colonne concernée

et une seule ligne de Code fait le job

Sheets(Range("B5").Value).Range("A1").Offset(Sheets("Saisie").Range("D5"), Sheets("Saisie").Range("D6")) = Range("B7")

Cordialement

Bonjour,

Voila une solution vraiment intéressante ! Je n'ai pas tout compris donc je vais me pencher dessus en détails.

J'avais "amélioré" mon code ce week-end mais sans arriver à un résultat concluant, cette solution qui semble "simple" est parfaite.

Sera t'elle toujours valable si on rajoute d'autres conditions ? L'idée était de complexifier la chose une fois l'exemple validé .

Merci pour votre aide en tout cas ! Ce sujet est résolu

Rechercher des sujets similaires à "bouton vba automatiser saisie"