Userform qui recopie les informations dans le bon onglet au bon endroit
Salut les pros du VBA
J'ai créé un Userform avec une date automatique, différents champs avec liste déroulante et différents choix à cocher qu'il faut compléter.
En cliquant sur "Valider", voici ce que j'aimerais :
-> La date va nous rediriger vers l'onglet qui correspond au mois (j'ai des onglets qui vont de janvier à décembre). Une fois l'onglet sélectionné, j'aimerais que si le jour se situe entre le 01 et le 14, ce soit considéré comme le début du mois (colonnes C à H) et si c'est entre le 15 et le 31 ce soit considéré comme le milieu du mois (colonnes I à M).
Après, en fonction du mois et du jour, il faudra rechercher l'appareil en colonne B et retranscrire toutes les informations, voici le résultat que je souhaite :
Dans mon exemple, la date du 05.02.2023 correspond au début février, l'appareil B1 a été trouvé en ligne 4 et ensuite les informations sont retransmises comme ci-dessous. -> les couleurs et autres mises en forme c'est déjà ok, j'ai juste besoin d'un code pour compléter les champs.
Je vous glisse le document et vous remercie déjà chaleureusement pour votre aide
Grâce à vous, je m'améliore mais je débute avec les Userforms et là c'est un peu trop compliqué pour moi
Bonsoir Zacky
Voici un début de code pour définir la bonne feuille
Private Sub CommandButton2_Click() 'bouton valider pour insérer un test HGT
Dim Ind As Integer, vMois As Integer
Dim TabMois() As String
Dim Sht As Worksheet
Dim i%
If Me.TextBox1 = "" Then
MsgBox "Vous devez saisir une date !", vbCritical, "OUPS..."
Me.TextBox1.SetFocus
Exit Sub
End If
For i = 1 To 3
If Me.Controls("Combobox" & i) = "" Then 'contrôle s'il y a bien une sélection dans les listes déroulantes
MsgBox "Merci de compléter tous les champs du formulaire"
Exit Sub
End If
Next i
If CheckBox1 = False And CheckBox2 = False Then 'contrôle qu'il y a bien une sélection pour les cases à cocher
MsgBox "Merci de cocher ok ou Nok pour les résultats sous : Normal"
Exit Sub
End If
If CheckBox3 = False And CheckBox4 = False Then
MsgBox "Merci de cocher ok ou Nok pour les résultats sous : LOW"
Exit Sub
End If
If CheckBox5 = False And CheckBox6 = False Then
MsgBox "Merci de cocher ok ou Nok pour les résultats sous : HIGHT"
Exit Sub
End If
' Quel mois
vMois = Month(CDate(Me.TextBox1))
TabMois = Split("Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre", ",")
' Définir la feuille qui va contenir les données
Set Sht = ThisWorkbook.Sheets(TabMois(vMois - 1))
' Compléter les données..
End SubA+
Bonjour BrunoM45,
Grâce à ton petit bout de code et à un code que j'ai récupéré sur un de mes anciens documents, j'ai réussi à terminer mon code
J'ai inséré des tableaux sur les onglets Mois et avec un code pour tableau, j'ai facilement réussi à transférer les données comme souhaité.
Merci infiniment pour ton aide!!!
Au plaisir