bonjour, je viens vers vous car je n'arrive pas à trouver la syntaxe VBA pour ce que je souhaite faire:
J'ai un onglet 1 avec en Ordonné les dates et en Abscisses des horaires (9h00-10h00, 10h00-11h00, 14h00-15h00 etc...)
J'ai également une userform qui demande un numéro (de formation afin de les classer par la suite), la date et l'heure de la dite formation.
Je souhaiterai via les données entrées dans la UserForm remplir ma première grille
Par exemple si je mets dans ma Userform le numéro de formation 2 au 03/03/16 de 9h00 à 10h00, je souhaiterai que le numéro de la formation se retrouve à l'intersection de la dite date et de l'horaire associé.
J'ai repris une macro d'un collègue mais elle ne réponds pas du tout à ce que je souhaite faire: la voici
Etant novice en VBA je me permet de compter sur vous....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub Remplissage_grille() Set x = Application.Intersect(Range("TextBox2.Value"), Range("ComboBox1.Value")) 'Détermination du champs d'éxécution de la macro Set c = ActiveCell 'redéfinition de la cellule active en objet c (peut être omis) n_ligne = c.Row 'ligne de la cellule active dans le champs n_colon = c.Column 'colonne de la cellule active dans le champs Set a = Range("B" & n_ligne) 'selection de la date de la cellule active Set b = Cells(3, n_colon) 'selection de l'heure de la cellule active If Not Range("J4").Offset(1, 0) = "" Then i = Range("J4", Range("J4").End(xlDown)).Count Else i = 1 'i correspond au nombre de créneaux réservés /vaut 1 si aucune réservation If Not x Is Nothing Then 'si le changement ne s'effectue pas en dehors de la plage alors If Not c.Value = "" Then 'si la contenu de la cellule active n'est pas vide Range("J" & i + 4) = c 'Range("K" & i + 1) = Range("L" & i + 4) = a Range("M" & i + 4) = b End If End If End Sub
Merci d'avance
Cl3m_
Partager