Afficher la première cellule Macro
Résolu
lalalie3
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Afficher la première cellule Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
4 réponses
Bonjour,
Je suis un peu surpris que le code que tu donnes puisse fonctionner !
De toutes façons, il serait plus propre d'écrire :
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
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 :
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
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.
A moi,
A l'aide
Je suis en calle seche ...