Afficher la première cellule Macro

Résolu/Fermé
lalalie3 Messages postés 44 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 5 août 2011 - 6 mai 2011 à 10:17
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 10 mai 2011 à 10:09
Bonjour,

J'ai trouvé une macro qui m'effectue ce que je lui demande ou presque.
Le presque est elle ne m'affiche pas la première ligne correspondante.

Cette commande a pour effet de trouver la date du jour dans un tableau contenant un certain nombre de colonnes et de lignes.

Voila le code :

Private Sub CommandButton3_Click()
'bouton aujourd'hui

Sheets("Planning").Select

Range("a1") = "=MATCH(TODAY(),F:F)"
Cells(Range("a1"), "F").Activate
Range("a1").ClearContents

End Sub

Le truc est qu'elle va bien la date du jour mais qu'elle va a la dernière cellule correspondante alors que je voudrais qu'elle aille a la première.

Que rajouter je ne trouve pas ...

A votre disposition si je ne suis pas assez clair.

A voir également:

4 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
6 mai 2011 à 12:00
Bonjour,

Je suis un peu surpris que le code que tu donnes puisse fonctionner !

De toutes façons, il serait plus propre d'écrire :

Option Explicit
Private Sub CommandButton3_Click()
'bouton aujourd'hui
Dim w As Worksheet
Dim c As Range

  Set w = Worksheets("Planning")
  Set c = w.Columns("F").Find(Date, LookIn:=xlValues)
  w.Activate
  c.Activate
  Set w = Nothing
  Set c = Nothing

End Sub

0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
6 mai 2011 à 12:02
PS: ta macro ne fonctionne pas car il faudrait écrire "=MATCH(TODAY(),F:F;0)" mais ce n'est pas une bonne solution que de conserver ce code.
0
lalalie3 Messages postés 44 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 5 août 2011
9 mai 2011 à 10:24
Bonjour,
Merci pour cette information.
Malheureusement j'ai une erreur a l'execution

Private Sub CommandButton3_Click()
'Bouton aujourd'hui
Dim w As Worksheet
Dim c As Range

Set w = Worksheets("Planning")
Set c = w.Columns("F").Find(Date, LookIn:=xlValues)
w.Activate
c.Activate
'Erreur d'execution '91' :
'Variable objet ou variable de bloc With non définie.

Set w = Nothing
Set c = Nothing
End Sub

Je suis novice dans la macro...
Merci pour votre aide.
0
lalalie3 Messages postés 44 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 5 août 2011
9 mai 2011 à 17:48
Au secours,
A moi,
A l'aide
Je suis en calle seche ...
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
9 mai 2011 à 18:54
Bonjour,

Excuse-moi, j'ai été un peu rapide : la fonction Find ne fonctionne pas avec tous les format de date et d'autre part je n'ai pas pris en compte le fait que la date cherchée puisse être absente du planning.

Finalement l'emploi de la fonction Match est plus judicieux, voici donc un code qui devrait fonctionner nettement mieux :

Option Explicit
Private Sub CommandButton3_Click()
'Bouton aujourd'hui
Dim w As Worksheet
Dim l As Double
  Set w = Worksheets("Planning")
  On Error Resume Next
  l = Application.WorksheetFunction.Match(CDbl(Date), w.Range("F:F"), 0)
  On Error GoTo 0
  If l = 0 Then
    MsgBox "La date d'aujourd'hui n'a pas été trouvée dans le planning"
    Exit Sub
  End If
  w.Activate
  w.Cells(l, "F").Activate
  Set w = Nothing
End Sub
0
lalalie3 Messages postés 44 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 5 août 2011
10 mai 2011 à 09:38
Bonjour, et MERCI !!!!
Ca fonctionne parfaitement bien.
Encore merci pour ton implication et gentillesse.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
10 mai 2011 à 10:09
De rien, au plaisir de te relire sur le forum
0