Comment se positionner sur une date dans un tableau?

flagadatof

XLDnaute Nouveau
Bonjour à tous,
Je suis nouveau sur le forum et totalement débutant en VBA :eek:

Contexte Réservation de machines (utilisateur, date, heure):
J'ai un classeur avec différentes feuilles pour la réservation de différentes machine (une feuille pour une machine)
Dans chacune de ses feuilles j'ai un ou plusieurs tableaux correspondant à la machine.
Je fais apparaître une boîte de dialogue dont les combobox sont alimentés par les données d'une des feuilles du classeurs (utilisateur, projet, nombre de jours, date, heure, journée complète...). La date est choisie grâce à l’outil DTPicker. J'ai finis la boîte de dialogue qui fonctionne (liste déroulante et choix des options) et maintenant je souhaite attribuer les valeurs de la boîte de dialogue dans des tableaux du classeur excell associé.

Question
J'ai un tableau dans lequel mes dates jj/mm/aaaa sont indiquées dans ma première colonne (une ligne du tableau pour une date)
Chacune des autres colonnes correspond à une heure.
Je voudrais déclencher l'action suivante:
1) Se positionner en DTPicker1.Value (j'ai essayer très naïvement DTPicker1.Value.Select)
2) Se déplacer là où il faut pour sélectionner les bonnes heures
3) Écrire le nom de l'utilisateur dans la cellule correspondante.

Pour 2) et 3) je vois comment faire. Mais je ne sais pas comment me positionner en DTPicker1.Value

Ça doit être très simple mais je suis dessus depuis hier.
Merci par avance :D

Cdlt, Flagadatof.
 

MichD

XLDnaute Impliqué
Re : Comment se positionner sur une date dans un tableau?

Bonjour,


Admettons que dans la Feuil1 tu as en colonne A:A, une liste de date

Le contrôle "Date Picker" te retourne une date et tu veux identifier
dans la colonne A l'adresse de la cellule où on retrouve cette date

Tu choisis l'événement qui te convient dans le formulaire (Clic...)

'------------------------------
Dim X As Long, Ligne As Long

X = Clng(cdate(Me.DatePicker1))

With Worksheets("Feuil1")
.Activate 'Pas essentiel si tu ne sélectionnes pas la cellule
'cela te retourne la ligne de la colonne A où se retrouve la première
'occurrence de la date recherchée.
Ligne = Application.Match(X, .range("A:A",0)
'Si tu veux saisir sur la même ligne mais une colonne à droite (B)
'une information
.Range("A" & Ligne)="Mon Info."
End With
'------------------------------
 

flagadatof

XLDnaute Nouveau
Re : Comment se positionner sur une date dans un tableau?

Bonsoir MichD et merci.

J'ai refais une feuille de calcul simple avec ma colonne de date en A:A et copier coller ton code. Et je n'y arrive toujours pas.

Dim X As Long, Ligne As Long
X = Clng(cdate(Me.DatePicker1)) ici je suppose qu'il faut indiquer le name du DatePicker
With Worksheets("Feuil1")
.Activate 'Pas essentiel si tu ne sélectionnes pas la cellule
'cela te retourne la ligne de la colonne A où se retrouve la première
'occurrence de la date recherchée.
Ligne = Application.Match(X, .range("A:A",0) cette ligne n'est pas correct apparemment, même en rajoutant la parenthèse manquante de la fin
'Si tu veux saisir sur la même ligne mais une colonne à droite (B)
'une information
.Range("A" & Ligne)="Mon Info."Si en A tu as la date, tu réécris dessus? et pour ceux qui est de la ligne... que nini
End With
 

MichD

XLDnaute Impliqué
Re : Comment se positionner sur une date dans un tableau?

Comme ceci :


VB:
Private Sub DTPicker1_Change()
Dim X As Long, Ligne As Long

X = CLng(CDate(Me.DTPicker1.Value))

With Worksheets("Feuil1")
    .Activate 'Pas essentiel si tu ne sélectionnes pas la cellule
    'cela te retourne la ligne de la colonne A où se retrouve la première
    'occurrence de la date recherchée.
    Ligne = Application.Match(X, .Range("A:A"), 0)
    'Si tu veux saisir sur la même ligne mais une colonne à droite (B)
    'une information
    .Range("A" & Ligne).Offset(, 1) = "Mon Info."
End With
End Sub
 

flagadatof

XLDnaute Nouveau
Re : Comment se positionner sur une date dans un tableau?

Merci MichD, cela répond parfaitement à ma question.
Mon problème est résolu.

Pour le détail, j'ai enlevé with worksheets et les points devant les commandes. Car précédemment je sélectionne un tableau.
Et finalement mon info à été remplacé par une valeur d'une combo box de mon user form.
Merci encore une fois à bientôt.
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 351
Membres
103 526
dernier inscrit
HEC