Imbriquer dans une macro module une macro feuille ?

nat07

XLDnaute Nouveau
Bonsoir à tous,
Je vous sollicite à nouveau, car j'ai crée une macro en automatique(pas assez doué pour moment !!) dans laquelle j'ai supprimé des étapes que je connaissais inutile, elle fonctionne... MAIS, j'aimerai mettre en fin de macro une macro feuille que j'ai trouvé mais le souci c'est que c'est pour une feuille et je ne vois quel élément il faut que j'enlève ou que je rajoute pour pouvoir la mettre à la suite de ma macro, ça me mets qu'il y a un message d'erreur...
Ci joint un fichier word dans lequel la macro à rajouter et en bas en jaune surligné.

En plus si jamais il y avait un preneur, il faudrait mettre toutes les lignes non vides en colonne 2 encadrées (bordures classiques) jusqu'à la colonne U
et numeroter en colonne A ligne 2 automatiquement toutes les lignes non vides.

Merci d'avance à qui voudra bien lire mon cas.
Nat07
 

Pièces jointes

  • mise en forme tab.docx
    21.3 KB · Affichages: 49

laurent950

XLDnaute Accro
Re : Imbriquer dans une macro module une macro feuille ?

Bonsoir,

La macro est sur pour une feuille Excel, mais pourquoi écrite sur Word le code ?

Vous avez le fichier Excel joint avec votre code s'il vous plais ? ceci dans le but de vous aider.

Laurent
 

laurent950

XLDnaute Accro
Re : Imbriquer dans une macro module une macro feuille ?

Bonsoir,

Voici le code :

VB:
Sub Macro1()
'
    Columns("A:A").Insert Shift:=xlToRight
    Range("A1") = "Num"
    Columns("I:I").Insert Shift:=xlToRight
    Range("I1") = "Rue 2"
    Columns("J:J").Insert Shift:=xlToRight
    Range("J1") = "Rue 3"
    Columns("K:K").Insert Shift:=xlToRight
    Range("K1") = "Rue 4"
    
    ' Mise en forme
        With Rows(1)
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        .Font.Name = "Calibri"
        .Font.FontStyle = "Gras"
        .Font.Size = 11
        .Font.Underline = xlUnderlineStyleNone
        .Font.ColorIndex = 1
    End With
    
End Sub

Laurent
 

nat07

XLDnaute Nouveau
Re : Imbriquer dans une macro module une macro feuille ?

merci laurent, mais il ne manque pas un morceau à la macro :D, car en fait c'est juste la mise en forme que tu as posté ??? sinon ça fontionne à merveille est c'est vrai que c'est moi fouilli que la mienne.
merci pour ta proposition.
nat07
 

laurent950

XLDnaute Accro
Re : Imbriquer dans une macro module une macro feuille ?

Bonsoir,

Qu'elle est le bute de cette macro a intégrer ? c'est une macro a placer dans une feuille du classeur qui exécute une macro suite à un évenement. a chaque fois que vous aller faire un changement dans la feuille. pour les colonne :

4, 5, 6, 7, 8, 9, 10 liéer a cette fonction = WorksheetFunction.Proper(Target)

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 4, 5, 6, 7, 8, 9, 10
Target = WorksheetFunction.Proper(Target)
Case Else
Exit Sub
End Select
End Sub

laurent
 
Dernière édition:

nat07

XLDnaute Nouveau
Re : Imbriquer dans une macro module une macro feuille ?

En fait j'exporte une base de données dans ma feuille excel, ensuite j'execute ma macro en module 1 qui met en forme automatiquement... et ensuite je veux executer la macro que j'ai trouvé pour les majuscules, et ensuite pour l'encadrer des lignes non vides, et la numérotation automatique à partir de la ligne 2 sur toutes les lignes non vides.
Mais la macro dans un premier temps pour les colonnes dans lequels je veux que ça inscrivent en majuscules, je l'ais trouvée uniquement pour une feuille et non pas pour un sub donc je n'arrive pas à inserer cette macro à la suite de la mienne.
en espérant avoir était plus clair
nat07
 

nat07

XLDnaute Nouveau
Reste les satanées colonne à mettre en majuscule

ci dessous donc la macro que j'ai réussi en rajoutant des morceaux d'autres macros... à obtenir ce que je voulais mais maintenant c'est les majuscules sur colonne et Première lettre majuscule sur d'autres colonnes que je n'arrive pas à mettre ça pas possible de bidouiller !! si quelqu'un pouvait me rajouter ces deux options sur ma macro .

mettre en Majuscule la colonne C,L,M
mettre en 1er lettre Majuscule la colonne de D à K


Sub mise_forme_tab()
'
' mise_forme_tab Macro
'

'
ActiveWindow.SmallScroll ToRight:=6
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.SmallScroll ToRight:=2
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.SmallScroll ToRight:=-2
Columns("G:G").Select
Selection.TextToColumns Destination:=Range("G1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="&", FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
ActiveWindow.SmallScroll ToRight:=2
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Select
ActiveCell.FormulaR1C1 = "Num"
Range("H1").Select
ActiveCell.FormulaR1C1 = "Rue 1"
Range("I1").Select
ActiveCell.FormulaR1C1 = "Rue 2"
Range("J1").Select
ActiveCell.FormulaR1C1 = "Rue 3"
Range("K1").Select
ActiveCell.FormulaR1C1 = "Rue 4"
Range("J21").Select
Range("A1:U1").Select
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("A:U").EntireColumn.AutoFit
Columns("F:F").Select
Selection.ColumnWidth = 35
With Selection
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("G:G").Select
Selection.ColumnWidth = 35
With Selection
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ActiveWindow.SmallScroll ToRight:=10
Columns("L:L").Select
Selection.NumberFormat = "00000"
Columns("O:R").Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A1:U300").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D781") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("E2:E781") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A1:U781")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A2").Select
ActiveCell.FormulaR1C1 = "1"
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A428"), Type:=xlFillSeries
Range("A2:A300").Select
Range("A2").Select
ActiveWindow.SmallScroll Down:=-18

For Each ligne In ActiveSheet.UsedRange.Rows
If ligne.Cells(1, 12).Value = Empty Then
'si la cellule de la colonne L est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
Range("A2").Select
End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
327

Statistiques des forums

Discussions
312 328
Messages
2 087 316
Membres
103 515
dernier inscrit
Cherbil12345