Regrouper deux macro en une!!!
nonossov
Messages postés
610
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,
je cherche a regrouper deux macros,
premieure c'est:
La deuxieme:
Merci infiniment
je cherche a regrouper deux macros,
premieure c'est:
[/contents/446-fichier-sub Sub] Fusion_col() ' ' Macro1 Macro ' Dim Col2 As String Dim Col1 As String Dim Separateur As String Dim Vide As Long Dim i As Single Dim c As Range Col1 = VBA.InputBox("Quelle est la lettre de la première colone?", "Colonne 1") Col2 = VBA.InputBox("Quelle est la lettre de la deuxième colonne ?", "Colonne 2") Separateur = VBA.InputBox("Quel séparateur voulez vous utiliser?", "Separateur") 'Col1 = Col1 + 0 Col1 = Col1 & ":" & Col1 'Col2 = Col2 & ":" & Col2 i = 1 'Numeros de col Vide = 0 'limite de vide 100 Dim Temp As String For Each c In ActiveSheet.Range(Col1).Cells If c.Text = "" Then 'cellule vide Else Range(Col2 & i) = c.Text & Separateur & Range(Col2 & i).Text End If i = i + 1 Next 'MsgBox (vide) 'suppression de la colonne 1 Columns(Col1).Delete Shift:=xlToLeft End Sub
La deuxieme:
Sub NETTOYAGE() If MsgBox("Etes-vous sur de vouloir nettoyer le journal?", vbOKCancel) = vbCancel Then End End If Dim sh As Worksheet Dim ws As Worksheet Dim a As Long Dim b As Long Set ws = Sheets("Input") Set sh = Sheets("Output") b = ws.Range("A1").End(xlDown).Row c = sh.Range("A1").End(xlDown).Row sh.Activate sh.Range("A2", Cells(c, "I")).Clear 'sh.Range("A2", Cells(c, "I")).Interior.Color = RGB(255, 255, 255) For a = 2 To b sh.Cells(a, "C") = ws.Cells(a, "C") sh.Cells(a, "A") = ws.Cells(a, "G") sh.Cells(a, "E") = ws.Cells(a, "I") sh.Cells(a, "B") = ws.Cells(a, "L") sh.Cells(a, "G") = ws.Cells(a, "M") sh.Cells(a, "D") = ws.Cells(a, "X") Next sh.Range("A2", Cells(b, "A")).NumberFormat = "dd/mm/yyyy;@" Dim maplageC As Range Set maplageC = sh.Range("G2", Cells(b, "G")) For Each cellule In maplageC If cellule.Value > 0 Then sh.Cells(cellule.Row, 6).Value = "C" Else sh.Cells(cellule.Row, 6).Value = "D" End If Next Range("H2").Select ActiveCell.FormulaR1C1 = "=MID(RC[-4],SEARCH("".TIF"",RC[-4])-8,8)" Selection.Copy Range("G60000").End(xlUp).Offset(0, 1).Select Range(Selection, Selection.End(xlUp)).Select ActiveSheet.Paste Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("D2").Select ActiveCell.FormulaR1C1 = "=RC[4]" Selection.Copy Range(Selection, Selection.End(xlDown)).Select ActiveSheet.Paste Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Columns("H:H").ClearContents Columns("D:D").EntireColumn.AutoFit Range("A2").Select Columns("A:G").Select Selection.AutoFilter ActiveSheet.Range("$A:$G").AutoFilter Field:=7, Criteria1:=">0", Operator:=xlAnd Range("G60000").End(xlUp).Offset(0, 1).Select ActiveCell.FormulaR1C1 = "=RC[-1]" Selection.Copy Range(Selection, Range("H2")).Select ActiveSheet.Paste Selection.AutoFilter Columns("H:H").Copy Range("H1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveSheet.Range("$A:$H").AutoFilter Field:=7, Criteria1:=">0", Operator:=xlAnd Columns("G:G").SpecialCells(xlCellTypeVisible).ClearContents Selection.AutoFilter End Sub Sub test() Columns("A:G").Select Selection.AutoFilter ActiveSheet.Range("$A:$G").AutoFilter Field:=7, Criteria1:=">0", Operator:=xlAnd Range("G60000").End(xlUp).Offset(0, 1).Select ActiveCell.FormulaR1C1 = "=RC[-1]" Selection.Copy Range(Selection, Range("H2")).Select ActiveSheet.Paste Selection.AutoFilter Columns("H:H").Copy Range("H1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveSheet.Range("$A:$H").AutoFilter Field:=7, Criteria1:=">0", Operator:=xlAnd Columns("G:G").SpecialCells(xlCellTypeVisible).ClearContents Selection.AutoFilter End Sub
Merci infiniment
A voir également:
- Regrouper deux macro en une!!!
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Regrouper plusieurs feuilles excel en une seule - Guide
- Deux ecran pc - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire deux colonnes sur word - Guide
1 réponse
NB : Quand tu postes du code sur le forum, utiliser les balises c'est bien,
mais avec indication du langage (=coloration syntaxique) c'est mieux
Explications disponibles ici : Comment utiliser les balises de code
Exemple :
mais avec indication du langage (=coloration syntaxique) c'est mieux
Explications disponibles ici : Comment utiliser les balises de code
Exemple :
Sub UtiliserLesBalises() MsgBox "Merci d'utiliser les balises de code" End Sub
Pour la première j'aurais écrit :
Ce qui n'est pas clair, c'est « je cherche a regrouper deux macros »
Ces macros sont indépendantes, qu'entends tu par regrouper ?
Call NETTOYAGE