Bonjour =E0 tous,
J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'ann=E9e, =
incr=E9ment=E9s vers la droite chaque jour suppl. =E0 la colonne suivante, =
avec une formule du style: En A10, date du 1er janvier 2014 et sur les suiv=
antes A$10+1, etc..=20
Qui fonctionne correctement.
Je souhaite avec du code qu'=E0 chaque changement sur la feuille l'=E9cran =
s'aligne en haut =E0 gauche sur la date du jour.
---------------------------
Sub Worksheet_Change(ByVal Target As Range)
MaDate$, NumCol$
MaDate =3D Format(Date, "d mmm")
NumCol=3D Rows("10:10").Find(MaDate).Column
Application.Goto Reference:=3DRange((NumCol)&"10"), Scroll:=3DTrue
End Sub
---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
"""""""""""""""""""""""""""""""""""""""
Erreur d'=E9x=E9cution 91
Variable objet ou bloc with non d=E9fini
"""""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me pr=EAter une main secourable ?
Bonjour à tous, J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'année, incrémentés vers la droite chaque jour suppl. à la colonne suivante, avec une formule du style: En A10, date du 1er janvier 2014 et sur les suivantes A$10+1, etc.. Qui fonctionne correctement.
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
A priori si vous voulez que la ligne "l" soit la première affiche sur l'écran, ça devrait être :
ActiveWindow.ScrollRow = l ( il y a aussi ScrollColumn )
Si vous voulez décaler un peu vous pouvez modifier l ( l-2 par exemple, en faisant attention aux bornes...)
Un peu plus compliquer si vous voulez centrer la ligne l : il va falloir calculer avec ActiveWindow.VisibleRange (j'ai un raccourci qui centre "à peu près" et verticalement la cellule active, c'est très pratique : ça évite de bouger les yeux ;-) )
Bonne journée.
--------------------------- Sub Worksheet_Change(ByVal Target As Range) MaDate$, NumCol$ MaDate = Format(Date, "d mmm") NumCol= Rows("10:10").Find(MaDate).Column Application.Goto Reference:=Range((NumCol)&"10"), Scroll:=True End Sub ---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
""""""""""""""""""""""""""""""""""""""" Erreur d'éxécution 91 Variable objet ou bloc with non défini """""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me prêter une main secourable ?
Merci d'avance, :-)
Cordialement, Emile
Le 02/06/2014 15:44, Emile63 a écrit :
Bonjour à tous,
J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'année, incrémentés vers la droite chaque jour suppl. à la colonne suivante, avec une formule du style: En A10, date du 1er janvier 2014 et sur les suivantes A$10+1, etc..
Qui fonctionne correctement.
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
A priori si vous voulez que la ligne "l" soit la première affiche sur
l'écran, ça devrait être :
ActiveWindow.ScrollRow = l ( il y a aussi ScrollColumn )
Si vous voulez décaler un peu vous pouvez modifier l ( l-2 par exemple,
en faisant attention aux bornes...)
Un peu plus compliquer si vous voulez centrer la ligne l : il va falloir
calculer avec ActiveWindow.VisibleRange (j'ai un raccourci qui centre
"à peu près" et verticalement la cellule active, c'est très pratique :
ça évite de bouger les yeux ;-) )
Bonne journée.
---------------------------
Sub Worksheet_Change(ByVal Target As Range)
MaDate$, NumCol$
MaDate = Format(Date, "d mmm")
NumCol= Rows("10:10").Find(MaDate).Column
Application.Goto Reference:=Range((NumCol)&"10"), Scroll:=True
End Sub
---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
"""""""""""""""""""""""""""""""""""""""
Erreur d'éxécution 91
Variable objet ou bloc with non défini
"""""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me prêter une main secourable ?
Bonjour à tous, J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'année, incrémentés vers la droite chaque jour suppl. à la colonne suivante, avec une formule du style: En A10, date du 1er janvier 2014 et sur les suivantes A$10+1, etc.. Qui fonctionne correctement.
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
A priori si vous voulez que la ligne "l" soit la première affiche sur l'écran, ça devrait être :
ActiveWindow.ScrollRow = l ( il y a aussi ScrollColumn )
Si vous voulez décaler un peu vous pouvez modifier l ( l-2 par exemple, en faisant attention aux bornes...)
Un peu plus compliquer si vous voulez centrer la ligne l : il va falloir calculer avec ActiveWindow.VisibleRange (j'ai un raccourci qui centre "à peu près" et verticalement la cellule active, c'est très pratique : ça évite de bouger les yeux ;-) )
Bonne journée.
--------------------------- Sub Worksheet_Change(ByVal Target As Range) MaDate$, NumCol$ MaDate = Format(Date, "d mmm") NumCol= Rows("10:10").Find(MaDate).Column Application.Goto Reference:=Range((NumCol)&"10"), Scroll:=True End Sub ---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
""""""""""""""""""""""""""""""""""""""" Erreur d'éxécution 91 Variable objet ou bloc with non défini """""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me prêter une main secourable ?
Merci d'avance, :-)
Cordialement, Emile
MichD
Bonjour,
Le message d'erreur "Erreur d'éxécution 91" provient de cette ligne de code. La méthode "Find" n'arrive pas à trouver ce qu'elle cherche. La méthode "Find" pour trouver une date particulière est alambiquée. Dans ton cas particulier, cette approche n'est pas appropriée.
NumCol= Rows("10:10").Find(MaDate).Column
Il serait préférable que tu utilises ceci :
'----------------------------------------- Sub test() Dim LaDate As Date, X as variant LaDate = Date
x = Application.Match(CLng(LaDate), Rows("2:2").Cells, 0) If IsNumeric(x) Then MsgBox "La colonne : " & x Else Err.Clear End If
End Sub '-----------------------------------------
Bonjour,
Le message d'erreur "Erreur d'éxécution 91" provient de cette ligne de code.
La méthode "Find" n'arrive pas à trouver ce qu'elle cherche. La méthode "Find"
pour trouver une date particulière est alambiquée. Dans ton cas particulier,
cette approche n'est pas appropriée.
NumCol= Rows("10:10").Find(MaDate).Column
Il serait préférable que tu utilises ceci :
'-----------------------------------------
Sub test()
Dim LaDate As Date, X as variant
LaDate = Date
x = Application.Match(CLng(LaDate), Rows("2:2").Cells, 0)
If IsNumeric(x) Then
MsgBox "La colonne : " & x
Else
Err.Clear
End If
End Sub
'-----------------------------------------
Le message d'erreur "Erreur d'éxécution 91" provient de cette ligne de code. La méthode "Find" n'arrive pas à trouver ce qu'elle cherche. La méthode "Find" pour trouver une date particulière est alambiquée. Dans ton cas particulier, cette approche n'est pas appropriée.
NumCol= Rows("10:10").Find(MaDate).Column
Il serait préférable que tu utilises ceci :
'----------------------------------------- Sub test() Dim LaDate As Date, X as variant LaDate = Date
x = Application.Match(CLng(LaDate), Rows("2:2").Cells, 0) If IsNumeric(x) Then MsgBox "La colonne : " & x Else Err.Clear End If
End Sub '-----------------------------------------
GL
Le 02/06/2014 17:12, MichD a écrit :
Bonjour,
Le message d'erreur "Erreur d'éxécution 91" provient de cette ligne de code. La méthode "Find" n'arrive pas à trouver ce qu'elle cherche. La méthode "Find" pour trouver une date particulière est alambiquée. Dans ton cas particulier, cette approche n'est pas appropriée.
NumCol= Rows("10:10").Find(MaDate).Column
Il serait préférable que tu utilises ceci :
'----------------------------------------- Sub test() Dim LaDate As Date, X as variant LaDate = Date
x = Application.Match(CLng(LaDate), Rows("2:2").Cells, 0)
WorksheetFunction.Match (c'est EQUIV en Français...)
If IsNumeric(x) Then MsgBox "La colonne : " & x Else Err.Clear End If
End Sub '-----------------------------------------
Le 02/06/2014 17:12, MichD a écrit :
Bonjour,
Le message d'erreur "Erreur d'éxécution 91" provient de cette ligne de
code.
La méthode "Find" n'arrive pas à trouver ce qu'elle cherche. La méthode
"Find"
pour trouver une date particulière est alambiquée. Dans ton cas
particulier,
cette approche n'est pas appropriée.
NumCol= Rows("10:10").Find(MaDate).Column
Il serait préférable que tu utilises ceci :
'-----------------------------------------
Sub test()
Dim LaDate As Date, X as variant
LaDate = Date
x = Application.Match(CLng(LaDate), Rows("2:2").Cells, 0)
WorksheetFunction.Match (c'est EQUIV en Français...)
If IsNumeric(x) Then
MsgBox "La colonne : " & x
Else
Err.Clear
End If
End Sub
'-----------------------------------------
Le message d'erreur "Erreur d'éxécution 91" provient de cette ligne de code. La méthode "Find" n'arrive pas à trouver ce qu'elle cherche. La méthode "Find" pour trouver une date particulière est alambiquée. Dans ton cas particulier, cette approche n'est pas appropriée.
NumCol= Rows("10:10").Find(MaDate).Column
Il serait préférable que tu utilises ceci :
'----------------------------------------- Sub test() Dim LaDate As Date, X as variant LaDate = Date
x = Application.Match(CLng(LaDate), Rows("2:2").Cells, 0)
WorksheetFunction.Match (c'est EQUIV en Français...)
If IsNumeric(x) Then MsgBox "La colonne : " & x Else Err.Clear End If
End Sub '-----------------------------------------
Emile63
Merci MichD et GL pour votre aide.
MichD, avec ta solution il trouve bien la position de la date mais me renvo ie celle-ci sous forme numérique (ex: 147). comment je peux faire pour qu'elle me renvoie la colonne (A,B,C etc..) Ce qui me faciliterais ensuite mon "Scroll" de l'écran... Merci d'avance pour ton aide, Emile
Merci MichD et GL pour votre aide.
MichD, avec ta solution il trouve bien la position de la date mais me renvo ie celle-ci sous forme numérique (ex: 147).
comment je peux faire pour qu'elle me renvoie la colonne (A,B,C etc..)
Ce qui me faciliterais ensuite mon "Scroll" de l'écran...
Merci d'avance pour ton aide,
Emile
MichD, avec ta solution il trouve bien la position de la date mais me renvo ie celle-ci sous forme numérique (ex: 147). comment je peux faire pour qu'elle me renvoie la colonne (A,B,C etc..) Ce qui me faciliterais ensuite mon "Scroll" de l'écran... Merci d'avance pour ton aide, Emile
Jacky
Bonjour,
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
'---------------------- Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Application.Match(CLng(Date), Rows("10:10").Cells, 0)) Then Application.Goto Cells(10, Application.Match(CLng(Date), Rows("10:10").Cells, 0)), True Else MsgBox "Date inconnue" End If End Sub '------------------------
-- Salutations JJ
"Emile63" a écrit dans le message de news:
Bonjour à tous, J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'année, incrémentés vers la droite chaque jour suppl. à la colonne suivante, avec une formule du style: En A10, date du 1er janvier 2014 et sur les suivantes A$10+1, etc.. Qui fonctionne correctement.
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour. --------------------------- Sub Worksheet_Change(ByVal Target As Range) MaDate$, NumCol$ MaDate = Format(Date, "d mmm") NumCol= Rows("10:10").Find(MaDate).Column Application.Goto Reference:=Range((NumCol)&"10"), Scroll:=True End Sub ---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
""""""""""""""""""""""""""""""""""""""" Erreur d'éxécution 91 Variable objet ou bloc with non défini """""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me prêter une main secourable ?
Merci d'avance, :-)
Cordialement, Emile
Bonjour,
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date
du jour.
'----------------------
Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Application.Match(CLng(Date), Rows("10:10").Cells, 0)) Then
Application.Goto Cells(10, Application.Match(CLng(Date), Rows("10:10").Cells, 0)), True
Else
MsgBox "Date inconnue"
End If
End Sub
'------------------------
--
Salutations
JJ
"Emile63" <sanz.emile@gmail.com> a écrit dans le message de news:
d273413b-59b5-41ea-b7e9-d43f3ee7333d@googlegroups.com...
Bonjour à tous,
J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'année, incrémentés vers la droite chaque
jour suppl. à la colonne suivante, avec une formule du style: En A10, date du 1er janvier 2014 et sur les
suivantes A$10+1, etc..
Qui fonctionne correctement.
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date
du jour.
---------------------------
Sub Worksheet_Change(ByVal Target As Range)
MaDate$, NumCol$
MaDate = Format(Date, "d mmm")
NumCol= Rows("10:10").Find(MaDate).Column
Application.Goto Reference:=Range((NumCol)&"10"), Scroll:=True
End Sub
---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
"""""""""""""""""""""""""""""""""""""""
Erreur d'éxécution 91
Variable objet ou bloc with non défini
"""""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me prêter une main secourable ?
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
'---------------------- Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Application.Match(CLng(Date), Rows("10:10").Cells, 0)) Then Application.Goto Cells(10, Application.Match(CLng(Date), Rows("10:10").Cells, 0)), True Else MsgBox "Date inconnue" End If End Sub '------------------------
-- Salutations JJ
"Emile63" a écrit dans le message de news:
Bonjour à tous, J'ai mis sur une ligne (10) de ma feuille XL, tous les jours de l'année, incrémentés vers la droite chaque jour suppl. à la colonne suivante, avec une formule du style: En A10, date du 1er janvier 2014 et sur les suivantes A$10+1, etc.. Qui fonctionne correctement.
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour. --------------------------- Sub Worksheet_Change(ByVal Target As Range) MaDate$, NumCol$ MaDate = Format(Date, "d mmm") NumCol= Rows("10:10").Find(MaDate).Column Application.Goto Reference:=Range((NumCol)&"10"), Scroll:=True End Sub ---------------------------
Mais je butte sur un msg d'erreur dont je ne trouve pas la raison.
""""""""""""""""""""""""""""""""""""""" Erreur d'éxécution 91 Variable objet ou bloc with non défini """""""""""""""""""""""""""""""""""""""
Est-ce que quelqu'un peut me prêter une main secourable ?
Merci d'avance, :-)
Cordialement, Emile
MichD
Dans la procédure suggérée, modifie cette ligne de code et tu obtiendras les lettres de la colonne où se trouve la date.
MsgBox "La colonne : " & x Par : MsgBox "La colonne : " & Split(Cells(1, X).Address, "$")(1)
Dans la procédure suggérée, modifie cette ligne de code et tu obtiendras
les lettres de la colonne où se trouve la date.
MsgBox "La colonne : " & x
Par :
MsgBox "La colonne : " & Split(Cells(1, X).Address, "$")(1)
Dans la procédure suggérée, modifie cette ligne de code et tu obtiendras les lettres de la colonne où se trouve la date.
MsgBox "La colonne : " & x Par : MsgBox "La colonne : " & Split(Cells(1, X).Address, "$")(1)
GL
Le 03/06/2014 10:38, Jacky a écrit :
Bonjour,
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
'---------------------- Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Application.Match(CLng(Date), Rows("10:10").Cells, 0)) Then Application.Goto Cells(10, Application.Match(CLng(Date), Rows("10:10").Cells, 0)), True Else MsgBox "Date inconnue" End If End Sub '------------------------
Effectivement avec Goto ça marche bien. C'est bizarre qu'il faille convertir la date en Long (ou Double ou LongLong etc.) : Date étant un format numérique...
Cdt.
Le 03/06/2014 10:38, Jacky a écrit :
Bonjour,
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date
du jour.
'----------------------
Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Application.Match(CLng(Date), Rows("10:10").Cells, 0)) Then
Application.Goto Cells(10, Application.Match(CLng(Date), Rows("10:10").Cells, 0)), True
Else
MsgBox "Date inconnue"
End If
End Sub
'------------------------
Effectivement avec Goto ça marche bien.
C'est bizarre qu'il faille convertir la date en Long
(ou Double ou LongLong etc.) : Date étant un format numérique...
Je souhaite avec du code qu'à chaque changement sur la feuille l'écran s'aligne en haut à gauche sur la date du jour.
'---------------------- Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Application.Match(CLng(Date), Rows("10:10").Cells, 0)) Then Application.Goto Cells(10, Application.Match(CLng(Date), Rows("10:10").Cells, 0)), True Else MsgBox "Date inconnue" End If End Sub '------------------------
Effectivement avec Goto ça marche bien. C'est bizarre qu'il faille convertir la date en Long (ou Double ou LongLong etc.) : Date étant un format numérique...
Cdt.
Emile63
Merci à tous pour votre aide. Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-) Merci encore à tous, cordialement,
Emile
Merci à tous pour votre aide.
Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-)
Merci encore à tous,
cordialement,
Merci à tous pour votre aide. Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-) Merci encore à tous, cordialement,
Emile
Jacquouille
En effet, Jacky est assez expéditif .....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Emile63" a écrit dans le message de groupe de discussion :
Merci à tous pour votre aide. Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-) Merci encore à tous, cordialement,
Emile
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
En effet, Jacky est assez expéditif .....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Emile63" a écrit dans le message de groupe de discussion :
32f0cd42-73d7-4443-96c2-d6253b706515@googlegroups.com...
Merci à tous pour votre aide.
Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et
Jacky m'a apporté la solution finale ;-)
Merci encore à tous,
cordialement,
Emile
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
" Le vin est au repas ce que le parfum est à la femme." "Emile63" a écrit dans le message de groupe de discussion :
Merci à tous pour votre aide. Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-) Merci encore à tous, cordialement,
Emile
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Jacky
Hello Jacquouille ...expéditif ..... Pfffff ! S'il faut des explications, il suffit de demander :-) Sinon il y a toujours GMD et GMDco MVPs ;o))) -- Salutations JJ
"Jacquouille" a écrit dans le message de news: lmkptj$abo$
En effet, Jacky est assez expéditif .....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Emile63" a écrit dans le message de groupe de discussion :
Merci à tous pour votre aide. Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-) Merci encore à tous, cordialement,
Emile
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Hello Jacquouille
...expéditif .....
Pfffff !
S'il faut des explications, il suffit de demander :-)
Sinon il y a toujours GMD et GMDco MVPs
;o)))
--
Salutations
JJ
"Jacquouille" <j.thiernesse@skynet.be> a écrit dans le message de news: lmkptj$abo$1@speranza.aioe.org...
En effet, Jacky est assez expéditif .....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Emile63" a écrit dans le message de groupe de discussion :
32f0cd42-73d7-4443-96c2-d6253b706515@googlegroups.com...
Merci à tous pour votre aide.
Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale
;-)
Merci encore à tous,
cordialement,
Emile
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast!
Antivirus est active.
http://www.avast.com
Hello Jacquouille ...expéditif ..... Pfffff ! S'il faut des explications, il suffit de demander :-) Sinon il y a toujours GMD et GMDco MVPs ;o))) -- Salutations JJ
"Jacquouille" a écrit dans le message de news: lmkptj$abo$
En effet, Jacky est assez expéditif .....
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Emile63" a écrit dans le message de groupe de discussion :
Merci à tous pour votre aide. Mal parti, j'ai bien saisi le fil des idées que vous m'avez proposé, et Jacky m'a apporté la solution finale ;-) Merci encore à tous, cordialement,
Emile
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com