IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

Macro qui permet d'appliquer une macro sur un fichier excel


Sujet :

VBA

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 26
    Points : 21
    Points
    21
    Par défaut Macro qui permet d'appliquer une macro sur un fichier excel
    Bonjour,
    Je viens vers vous pour demande de l'aide, ça fait un petit moment que j'ai commencé a développer des macros excel avec vba, donc je suis pas un pro .
    Donc je cherche est une macro dans un fichier excel qui permet d'appliquer une macro à un fichier excel sélectionné ou chargé d'un répertoire, ensuite enregistrer une copie de fichier en ajoutant un indice pour le distinguer de fichier origine avec la modification appliquer par la macro, dans mon cas je voudrais appliqué cette macro au fichier sélectionné ou chargé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub DeleteEmtiesLines()
    '
    ' DeleteEmtiesLines Macro: Delete the empty lines
    '
    Dim i As Integer
     
    'We cover the column A
    For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
    'Rows.count return the number of lines of the range selected
    	'If the column is not empty, and his offset(0,1) or offset(0,3) is empty
        If Not IsEmpty(Range("A" & i).Value) And (IsEmpty(Range("A" & i).Offset(0, 1).Value) Or IsEmpty(Range("A" & i).Offset(0, 3).Value)) Then
    		'remove the ligne
    		Rows(i).EntireRow.Delete
        'If the column is empty, and his offset(0,1) or offset(0,3) is not empty
        ElseIf IsEmpty(Range("A" & i).Value) And (Not IsEmpty(Range("A" & i).Offset(0, 1).Value) Or Not IsEmpty(Range("A" & i).Offset(0, 3).Value)) Then
            'remove the ligne
    		Rows(i).EntireRow.Delete
        'If the column is empty, and his offset(0,1) or offset(0,3) is empty    
        ElseIf IsEmpty(Range("A" & i).Value) And (IsEmpty(Range("A" & i).Offset(0, 1).Value) Or IsEmpty(Range("A" & i).Offset(0, 3).Value)) Then
            'remove the ligne
    		Rows(i).EntireRow.Delete
        End If
    Next i
    Si vous avez une idée n'hésitez pas.
    merci

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, pour la génération de fichiers sans doublons voir ici la fonction RenommerFichierPDF(sChemin As String, sNomFichier As String) As String en l'adaptant à ton contexte, il y a d'autres exemples ici et

    Pour le reste une recherche dans les FAQs et Tutos
    Images attachées Images attachées  

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    Salut,
    Je pense que je suis sur a bonne piste de ce que je cherche, je suis arrivé à ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub test()
    '
    ' test Macro
    '
    Dim Ws As Worksheet
    Dim i As Integer
    Dim NomFichier As String
    Dim Wk As Workbook
     
    NomFichier = Application.GetOpenFilename
    Set Wk = Workbooks.Open(NomFichier)
    MsgBox "You choosed the file named : " & Wk.Name
     
    Set Ws = Wk.Worksheets(5)
     
    For i = Ws.Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        MsgBox i
    'Rows.count return the number of lines of the range selected
        'If the column is not empty, and his offset(0,1) or offset(0,3) is empty
        If Not IsEmpty(Ws.Range("A" & i).Value) And (IsEmpty(Ws.Range("A" & i).Offset(0, 1).Value) Or IsEmpty(Ws.Range("A" & i).Offset(0, 3).Value)) Then
            'remove the ligne
            Ws.Rows(i).EntireRow.Delete
        'If the column is empty, and his offset(0,1) or offset(0,3) is not empty
        ElseIf IsEmpty(Ws.Range("A" & i).Value) And (Not IsEmpty(Ws.Range("A" & i).Offset(0, 1).Value) Or Not IsEmpty(Ws.Range("A" & i).Offset(0, 3).Value)) Then
            'remove the ligne
            Ws.Rows(i).EntireRow.Delete
        'If the column is empty, and his offset(0,1) or offset(0,3) is empty
        ElseIf IsEmpty(Ws.Range("A" & i).Value) And (IsEmpty(Ws.Range("A" & i).Offset(0, 1).Value) Or IsEmpty(Ws.Range("A" & i).Offset(0, 3).Value)) Then
            'remove the ligne
            Ws.Rows(i).EntireRow.Delete
        End If
    Next i
    End Sub
    Par contre y'a un probleme avec la boucle for, il ne parcourt pas la colonne A, si vous avez une idée de d'ou vient le problème sera la bienvenue.

Discussions similaires

  1. Macro qui permet de décocher une checkbox
    Par vince2712 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2009, 08h49
  2. Réponses: 11
    Dernier message: 21/07/2009, 17h32
  3. Creer un macro qui verifie une info sur plusieur fichier excel
    Par Esmax666 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/07/2009, 16h42
  4. Macro qui permet de mettre une macro sur une poste
    Par Tinien dans le forum VBA Word
    Réponses: 4
    Dernier message: 26/11/2008, 01h17
  5. creation d'une macro qui permet d'imprimer
    Par INCO13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/06/2008, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo