Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb macro

12 réponses
Avatar
dom
Bonjour,

J'ai un fichier qui a le code macro suivant (code enregistré par le client
par l'enregistreur de macros).

Sub CMPT3()
Range("C:D,J:J").Select
Range("J1").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
ActiveWindow.SmallScroll Down:=15
Range("C3:G37").Select
Range("C37").Activate
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
ActiveWindow.SmallScroll Down:=-39
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
ActiveWindow.SmallScroll Down:=-33
Selection.NumberFormat = "#,##0"
ActiveWindow.SmallScroll Down:=-33
End Sub

Manuellement, cela fonctionne, mais pas lorsqu'on exécute la macro (macro de
mise en forme de données).
Les données sont extraites d'une application externe.

Meric pour vos réponses

Cordialement

Dom

2 réponses

1 2
Avatar
dom
Salut Daniel,

Un grand merci pour la macro.
Cela fonctionne. J'ai juste modifié la ligne .numberformat="#.##0" en "# ##0"

Merci encore

Dom



Utilise :

Sub CMPT3()
'
' CMPT3 Macro
' Macro enregistrée le 05/07/2007 par a0000865
'

'
Dim c As Range
Range("C:D,J:J").Delete
With Range("C3:G37")
.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
For Each c In Range("C3:G37")
c = CDbl(c)
Next c
.NumberFormat = "#.##0"
End With
End Sub

Daniel
"dom" a écrit dans le message de news:

Salut Daniel,

Je t'ai envoyé le fichier excel (excel 2000) avec la macro(cmpte3)
http://cjoint.com/?hgsgA8dG7u
Dans le fichier il y a 3 feuilles 1 feuille réf qui contient des données
brutes extraites d'une autre application, une feuille intitulée macro où
on
veut le résultat de la macro et une feuille fin avec la même mise en forme
à
obtenir (séparateur de milliers + suppression des centimes +.
Au début, faire un copier coller de la plage réf c3 : j37 et supprimer les
colonnes avec le symbole "|" ainsi que la colonne d'intitulés
Si pas clair , n'hésites pas à m'écrire

Cordialement
Dom


On va donc utiliser les forceps ;-)))
Qu'est-ce qui est exécuté et qu'est-ce qui ne l'est pas ?
Au reste, pourquoi appliques-tu deux formats différents à la même plage ?
Daniel
Copie la plage dans un classeur et mets-la sur www.cjoint.com
"dom" a écrit dans le message de news:

Salut Daniel,

La macro ne plante pas. Elle fait une partie du travail mais pas tout
le
travail

Cordialement

Dom


Bonjour.
Tu aurais intérêt à nettoyer ta macro. L'enregistreur note des actions
inutiles. Ceci dit, qu'est-ce qui ne fonctionne pas ? La macro ne fait
rien,
ou elle plante ? et dans ce cas, sur quelle ligne ?
Cordialement.
Daniel
"dom" a écrit dans le message de news:

Bonjour,

J'ai un fichier qui a le code macro suivant (code enregistré par le
client
par l'enregistreur de macros).

Sub CMPT3()
Range("C:D,J:J").Select
Range("J1").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
ActiveWindow.SmallScroll Down:
Range("C3:G37").Select
Range("C37").Activate
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
ActiveWindow.SmallScroll Down:=-39
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
ActiveWindow.SmallScroll Down:=-33
Selection.NumberFormat = "#,##0"
ActiveWindow.SmallScroll Down:=-33
End Sub

Manuellement, cela fonctionne, mais pas lorsqu'on exécute la macro
(macro
de
mise en forme de données).
Les données sont extraites d'une application externe.

Meric pour vos réponses

Cordialement

Dom





















Avatar
dom
Salut Daniel,

J'ai remarqué que dans la macro, il me rajoutait des valeurs zéro dans des
cellules alors qu'on lui demande pas.
J'ai donc créé une macro avec l'enregistreur de macros (qui contient les
cellules où je ne veux pas de 0 qui apparaissent). Le pb est que je ne sais
pas comment faire pour l'intégrer dans la macro CMPT3 que tu m'as envoyé pour
que tout s'exécute d'un seul coup

Sub supp_zero()

supp_zero Macro
Range("C6:G6,C10:G10,C14:G14,C18:G18,C22:G22,C26:G26,C30:G30").Select
Range("C30").Activate

Range("C6:G6,C10:G10,C14:G14,C18:G18,C22:G22,C26:G26,C30:G30,C34:G34").Select
Range("C34").Activate
Selection.ClearContents
End Sub


Comment puis-je faire ???

Merci pour vos réponses

Doml


Utilise :

Sub CMPT3()
'
' CMPT3 Macro
' Macro enregistrée le 05/07/2007 par a0000865
'

'
Dim c As Range
Range("C:D,J:J").Delete
With Range("C3:G37")
.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
For Each c In Range("C3:G37")
c = CDbl(c)
Next c
.NumberFormat = "#.##0"
End With
End Sub

Daniel
"dom" a écrit dans le message de news:

Salut Daniel,

Je t'ai envoyé le fichier excel (excel 2000) avec la macro(cmpte3)
http://cjoint.com/?hgsgA8dG7u
Dans le fichier il y a 3 feuilles 1 feuille réf qui contient des données
brutes extraites d'une autre application, une feuille intitulée macro où
on
veut le résultat de la macro et une feuille fin avec la même mise en forme
à
obtenir (séparateur de milliers + suppression des centimes +.
Au début, faire un copier coller de la plage réf c3 : j37 et supprimer les
colonnes avec le symbole "|" ainsi que la colonne d'intitulés
Si pas clair , n'hésites pas à m'écrire

Cordialement
Dom


On va donc utiliser les forceps ;-)))
Qu'est-ce qui est exécuté et qu'est-ce qui ne l'est pas ?
Au reste, pourquoi appliques-tu deux formats différents à la même plage ?
Daniel
Copie la plage dans un classeur et mets-la sur www.cjoint.com
"dom" a écrit dans le message de news:

Salut Daniel,

La macro ne plante pas. Elle fait une partie du travail mais pas tout
le
travail

Cordialement

Dom


Bonjour.
Tu aurais intérêt à nettoyer ta macro. L'enregistreur note des actions
inutiles. Ceci dit, qu'est-ce qui ne fonctionne pas ? La macro ne fait
rien,
ou elle plante ? et dans ce cas, sur quelle ligne ?
Cordialement.
Daniel
"dom" a écrit dans le message de news:

Bonjour,

J'ai un fichier qui a le code macro suivant (code enregistré par le
client
par l'enregistreur de macros).

Sub CMPT3()
Range("C:D,J:J").Select
Range("J1").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
ActiveWindow.SmallScroll Down:
Range("C3:G37").Select
Range("C37").Activate
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
ActiveWindow.SmallScroll Down:=-39
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
ActiveWindow.SmallScroll Down:=-33
Selection.NumberFormat = "#,##0"
ActiveWindow.SmallScroll Down:=-33
End Sub

Manuellement, cela fonctionne, mais pas lorsqu'on exécute la macro
(macro
de
mise en forme de données).
Les données sont extraites d'une application externe.

Meric pour vos réponses

Cordialement

Dom





















1 2