Excel macro vba

Fermé
sagrada Messages postés 66 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 10 février 2008 - 23 août 2005 à 11:46
 TunsianO - 20 sept. 2007 à 17:14
Bonjour à tous!

Je viens vous demander de l'aide concernant un petit prog en macro vba, je souhaite créer une macro qui sera utilisable pour plusieurs fichiers excel autant qu'on veut à partir d'une seule macro.

Le but du programme est de supprimer automatiquement toutes les colonnes qui ne me servent pas. En résumé, une macro (un seul prog en vba) pour plusieurs fichiers.

Je vous montre mon petit prog:

sub test ( )

Workbook. Activate
Range ("G:G, I:Z, AA:AA, AU:BK").delete

end sub

Je vous remercie d'avance de votre infatiguable collaboration
A voir également:

4 réponses

Bonjour mes fréres
je cherche une formation sur les macro excel..qui peut m aider svp par un fichier ou un cours ?? j ai des notions de base sur l VB..merci d avance
3
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
24 août 2005 à 22:25
Si la(les) colonne(s) sont fixes:
Sub supp_col_fixe()
    Dim CHEMIN As String
    Dim FICHIER As String
    Dim COMPIL As String
    Dim NBCARACT As Integer
    Dim LONGUEUR As Integer
    Application.ScreenUpdating = True
    COMPIL = ActiveWorkbook.Name
    NBCARACT = Len(COMPIL)
    CHEMIN = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) - NBCARACT)
    ChDir CHEMIN
    FICHIER = Dir(CHEMIN & "*.*")
    Do While FICHIER <> ""
        If FICHIER <> "." And FICHIER <> ".." And FICHIER <> COMPIL Then
            Workbooks.Open Filename:=CHEMIN & FICHIER
            nj = (WorksheetFunction.CountA(Columns("a:a")))
            
            If nj = 0 Then
                Range("A:A").Delete
            End If
        End If
        FICHIER = Dir
    Loop
End Sub


si les colonnes sont parametrables (lister les colonnes dans la colonnes G du fichier modele à partir de la ligne 2):
Sub supp_liste_col_G()
    Dim CHEMIN As String
    Dim FICHIER As String
    Dim COMPIL As String
    Dim NBCARACT As Integer
    Dim LONGUEUR As Integer
    Dim COLONNE As String
    
    Application.ScreenUpdating = True
    nb = (WorksheetFunction.CountA(Columns("G:G")))
    For i = 2 To nb
        If Range("G" & i).Value <> "" Then
               COLONNE = Range("G" & i).Value & ":" & Range("G" & i).Value
                COMPIL = ActiveWorkbook.Name
                NBCARACT = Len(COMPIL)
                CHEMIN = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) - NBCARACT)
                ChDir CHEMIN
                FICHIER = Dir(CHEMIN & "*.xls")
                Do While FICHIER <> ""
                    If FICHIER <> "." And FICHIER <> ".." And FICHIER <> COMPIL Then
                        Workbooks.Open Filename:=CHEMIN & FICHIER
                        nj = (WorksheetFunction.CountA(Columns(COLONNE)))
                        
                        If nj = 0 Then
                            Range(COLONNE).Delete
                        End If
                        
                        ActiveWorkbook.Close SaveChanges:=yes
                    End If
                    FICHIER = Dir
                Loop
        End If
    Next
End Sub
2
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
24 août 2005 à 21:49
petite precision:
les colonnes sont elles fixes?
0
je souhaite copier le contenu des information d une feuille demarrant en case b8 et se terminant en case n200 dun fichier xls vers un autre fichier en VBA.
je nai aucne notion du VBA.

puis trier avec comme base la colonne B et reorganiser toutes les donnees recues
qui peut m aider sur ce simple programme
0