OVH Cloud OVH Cloud

remplacer date dans corps macro

4 réponses
Avatar
franck
bonjour
j'ai une macro avec une date dans le texte (r=E9p=E9t=E9=20
plusieurs fois) et je voudrais quelle change en semi-
automatique. Grace =E0 une boite de dialogue, je mettrais la=20
nouvelle date.
pour le moment dans visual basic, je fais=20
menu edition=20
remplacer
ancienne date
par nouvelle date

par avance merci

4 réponses

Avatar
ChrisV
Bonjour Franck,

Tu peux nous mettre le code de ta macro ici ?
(souvent plus simple pour la compréhension du problème...)


ChrisV


"franck" a écrit dans le message de
news: 04c101c3d9e0$6cb07070$
bonjour
j'ai une macro avec une date dans le texte (répété
plusieurs fois) et je voudrais quelle change en semi-
automatique. Grace à une boite de dialogue, je mettrais la
nouvelle date.
pour le moment dans visual basic, je fais
menu edition
remplacer
ancienne date
par nouvelle date

par avance merci
Avatar
Voila le code de la macro les dates sont au format 2004-01-
11 etv je souhaiterai faire une macro qui remplacerai
cette date par la suivante ou une date que l'on entrerai
dans une cellule de la feuille.
merci d'avance.

Sub TX_CASSE()
'
' Macro1 Macro
' Macro enregistrée le 23/12/03 par Pc Corinne
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER={Microsoft ODBC for
Oracle};UID=cpi;PWD=cpi9000;SERVER=S_QEMM;", _
Destination:=Range("A1"))
.Sql = Array( _
"SELECT MC_PRODMAC.DATE_PROD, MC_PRODMAC.GROUPE,
MC_PRODMAC.FOUR, MC_PRODMAC.CDC, MC_PRODMAC.EAP,
MC_PRODMAC.TEMPS_ARRET, MC_PRODMAC.TEMPS_MARCHE,
MC_PRODMAC.NB_CASSES, MC_PRODMAC.ETAT_FOUR" & Chr(13) & ""
& Chr(10) & "FROM CPI.M" _
, _
"C_PRODMAC MC_PRODMAC" & Chr(13) & "" & Chr(10)
& "WHERE (MC_PRODMAC.DATE_PROD>={ts '2004-01-11 00:00:21'}
And MC_PRODMAC.DATE_PROD<={ts '2004-01-11 04:00:00'})" _
)
.FieldNames = True
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:úlse
.SavePassword = True
.SaveData = True
End With
' Macro14 Macro
'

'
' Sheets("CASSE TPS MARCHE").Select
' Range("A1").Select
' With Selection.QueryTable
' .Connection = _
' "ODBC;DRIVER={Microsoft ODBC for
Oracle};UID=SUIVPROD;PWD=PASS71;SERVER=S_qemm;"
' .Sql = Array( _
' "SELECT PRODMAC.DATE_PROD, PRODMAC.GROUPE,
PRODMAC.FOUR, PRODMAC.TEMPS_MARCHE, PRODMAC.CASSES" & Chr
(13) & "" & Chr(10) & "FROM SUIVPROD.PRODMAC PRODMAC" & Chr
(13) & "" & Chr(10) & "WHERE (PRODMAC.DATE_PROD={ts '2004-
01-11 00:00:00'})" _
' )
' .Refresh False
' End With
Sheets("PANNES").Select
Range("A1").Select
With Selection.QueryTable
.Connection = _
"ODBC;DSNÛASE
Files;DefaultDir=P:SAISIES;DriverIdS3;MaxBufferSizeQ2;
PageTimeout=5;"
.Sql = Array( _
"SELECT MOTIFS.DATE, MOTIFS.GROUPE, MOTIFS.FOUR,
MOTIFS.CASSE_X, MOTIFS.MANQUE_P, MOTIFS.REPARATION,
MOTIFS.CP, MOTIFS.QUALITE_K, MOTIFS.MODIFICATI,
MOTIFS.DISPONIBLE, MOTIFS.ESSAI_E, MOTIFS.MANQUE_V, " _
, _
"MOTIFS.MANQUE_B, MOTIFS.MANQUE_E,
MOTIFS.PREVENTIF, MOTIFS.FILIERES_E, MOTIFS.METHODES,
MOTIFS.VENTILATIO, MOTIFS.AUTRE_1, MOTIFS.FILIERES_T,
MOTIFS.M_FICHE_R, MOTIFS.M_OF" & Chr(13) & "" & Chr(10)
& "FROM MOTIFS MOTIFS" & Chr(13) & "" & Chr(10) & "WHERE
(MOTIFS.DATE={d '2004-01-11'})" & Chr(13) & "" & Chr(10)
& "ORDER BY MOTIFS.D" _
, "ATE")
.Refresh False
End With
Sheets("VITESSE").Select
Columns("A:H").Select
Selection.ClearContents
With ActiveSheet.QueryTables.Add(Connection:=Array
(Array( _
"ODBC;DSN=Excel
Files;DBQ=P:LogistiqueProductionVitesse.xls;DefaultDir=P
:LogistiqueProduction;DriverIdy0;MaxBufferSize 48;Pa"
_
), Array("geTimeout=5;")), Destination:=Range
("A1"))
.CommandText = Array( _
"SELECT `Vitesse$`.DATE, `Vitesse$`.GROUPE,
`Vitesse$`.FOUR, `Vitesse$`.DIAMETRE, `Vitesse$`.VITESSE,
`Vitesse$`.DESIGNATIO, `Vitesse$`.GRADE,
`Vitesse$`.BOBINE" & Chr(13) & "" & Chr(10) & "FROM
`P:LogistiqueProductionVitesse`" _
, ".`Vitesse$` `Vitesse$`" & Chr(13) & "" & Chr
(10) & "WHERE (`Vitesse$`.DATE={ts '2004-01-11
00:00:00'})")
.Name = "Lancer la requête à partir de Excel Files"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
' Range("A1").Select
' With Selection.QueryTable
' .Connection = _
' "ODBC;DSN=Excel
Files;DBQ=P:LogistiqueProductionvitesse.xls;DriverIdS3
;MaxBufferSizeQ2;PageTimeout=5;"
' .Sql = Array( _
' "SELECT Vitesse.DATE, Vitesse.GROUPE,
Vitesse.FOUR, Vitesse.VITESSE, Vitesse.DIAMETRE,
Vitesse.GRADE, Vitesse.BOBINE" & Chr(13) & "" & Chr(10)
& "FROM Vitesse Vitesse" & Chr(13) & "" & Chr(10) & "WHERE
(Vitesse.DATE={d '2004-01-11'})" & Chr(13) & "" & Chr(10)
& "ORDER BY Vitesse.DATE" _
' )
' .Refresh False
' End With

Sheets("EBAUCHE").Select
Range("A1").Select
With Selection.QueryTable
.Connection = Array(Array( _
"ODBC;DSN=Excel Files;DBQ=P:Tx de
casseEBAUCHESébauches.xls;DefaultDir=P:Tx de
casseEBAUCHES;DriverId";MaxBufferSize 48;Page" _
), Array("Timeout=5;"))
.Sql = Array( _
"SELECT `EBAUCHE$`.DATE, `EBAUCHE$`.`FOUR Nv#
SUIVI`, `EBAUCHE$`.BOTTE, `EBAUCHE$`.COULEE,
`EBAUCHE$`.`N° TREF`, `EBAUCHE$`.ESSAIS, `EBAUCHE$`.DFC" &
Chr(13) & "" & Chr(10) & "FROM `P:Tx de
casseEBAUCHESébauches`.`EBAUCHE$` `E" _
, "BAUCHE$`" & Chr(13) & "" & Chr(10) & "WHERE
(`EBAUCHE$`.DATE={ts '2004-01-11 00:00:00'})")
.Name = "Lancer la requête à partir de Excel Files"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
'Sheets("EBAUCHE").Select
'Range("A1").Select
'With Selection.QueryTable
' .Connection = Array(Array( _
' "ODBC;DSN=Excel Files;DBQ=P:Tx de
casseEBAUCHESébauches.xls;DefaultDir=P:Tx de
casseEBAUCHES;DriverId";MaxBufferSize 48;Page" _
' ), Array("Timeout=5;"))
' .Sql = Array( _
' "SELECT Base_de_données.DATE,
Base_de_données.`FOUR Nv# SUIVI`, Base_de_données.BOTTE,
Base_de_données.COULEE, Base_de_données.`N° TREF`,
Base_de_données.ESSAIS, Base_de_données.Ebauches_DFC" & Chr
(13) & "" & Chr(10) & "FROM `P:Tx de
casseEBAUCHESébauches`" _
' , _
' ".Base_de_données Base_de_données" & Chr(13) & ""
& Chr(10) & "WHERE (Base_de_données.DATE={ts '2004-01-11
00:00:00'})" _
' )
' .Refresh False
'End With
Sheets("taux de casse").Select
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Range("B2:B14").Select
Selection.Copy
Range("C2").Select
Selection.PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("SUIVCAS1").Select
ActiveWindow.ScrollRow = 142
ActiveWindow.LargeScroll ToRight:=1
Range("A2:W147").Select
Range("V147").Activate
Application.CutCopyMode = False
Selection.Copy
End Sub

-----Message d'origine-----
Bonjour Franck,

Tu peux nous mettre le code de ta macro ici ?
(souvent plus simple pour la compréhension du problème...)


ChrisV


"franck" a écrit
dans le message de

news: 04c101c3d9e0$6cb07070$
bonjour
j'ai une macro avec une date dans le texte (répété
plusieurs fois) et je voudrais quelle change en semi-
automatique. Grace à une boite de dialogue, je mettrais la
nouvelle date.
pour le moment dans visual basic, je fais
menu edition
remplacer
ancienne date
par nouvelle date

par avance merci


.



Avatar
Alain CROS
Bonjour.

Difficile de tester.
Apparemment c'est du texte pour une requéte.
Il y a parfois la date et l'heure.
Essaye quelquechose comme ça avec la date en A1 et l'heure en B1.

Sub test()
MsgBox "PRODMAC.FOUR, PRODMAC.TEMPS_MARCHE, PRODMAC.CASSES" & Chr(13) & _
"" & Chr(10) & "FROM SUIVPROD.PRODMAC PRODMAC" & Chr(13) & "" & _
Chr(10) & "WHERE (PRODMAC.DATE_PROD={ts '" & CStr(Format(Range("A1"), _
"yyyy-mm-dd")) & " " & CStr(Format(Range("B1"), "hh:mm:ss")) & "'})"
End Sub

Alain CROS.
Avatar
bonjour

j'ai bien une boite de dialogue qui s'ouvre
mais rien ne ce passe au niveau du changement de date
dans la macro.
avez vous d'autres sugestions.
Merci

Franck
-----Message d'origine-----
Bonjour.

Difficile de tester.
Apparemment c'est du texte pour une requéte.
Il y a parfois la date et l'heure.
Essaye quelquechose comme ça avec la date en A1 et
l'heure en B1.


Sub test()
MsgBox "PRODMAC.FOUR, PRODMAC.TEMPS_MARCHE,
PRODMAC.CASSES" & Chr(13) & _

"" & Chr(10) & "FROM SUIVPROD.PRODMAC PRODMAC" & Chr
(13) & "" & _

Chr(10) & "WHERE (PRODMAC.DATE_PROD={ts '" & CStr
(Format(Range("A1"), _

"yyyy-mm-dd")) & " " & CStr(Format(Range
("B1"), "hh:mm:ss")) & "'})"

End Sub

Alain CROS.


.