Posez votre question Signaler

Excel macro vba

sagrada 66Messages postés 23 août 2005Date d'inscription - Dernière réponse le 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
Lire la suite 

Excel macro vba »

4 réponses
Réponse
+3
moins plus
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
Ajouter un commentaire
Réponse
+2
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
petite precision:
les colonnes sont elles fixes?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « excel macro vba » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook