Macro pour enchaînements de petites tâches

bool2gom

XLDnaute Junior
Bonjour, pour un sheet xls donné, j'aurais besoin d'une macro qui effectue strictement les tâches suivantes, les unes après les autres (tableau avec 1 ligne contenant les headers)

D'avance, merci pour votre aide. :)

============

1.Retirer doublons de la colonne A (toutes la sélection)
2.Supprimer lignes avec valeur "0" dans la colonne E
3.Supprimer lignes avec valeur "/N" dans la colonne E

Dans les colonnes B et D
4.Remplacer les espaces vides par "-"
5.Remplacer "--" par "-"
6.Remplacer "---" par "-"
7.Remplacer "/" par "-"

8.Créer une colonne avec entête "URL"

9.Dans cette même colonne, faire un concatener comme suit :
"/" + Valeur colonne D + "-" + "valeur de la colonne B" + "-" + colonne de valeur "F" + ".html"

============
 
Dernière édition:

Gardien de phare

XLDnaute Accro
Re : Macro pour enchaînements de petites tâches

Bonjour (Hi) boul2gom,
Ceci est un forum francophone où un header est une en-tête, un sheet est une feuille, où remove se dit enlever, empty se dit vide, etc. etc.
Une feuille n'est pas un xls, ce n'est qu'un objet d'un classeur dont l'extension en 2013 sera plutôt en xls* où * est une wildcard qui remplace les s, m, et autres.
Quand à la notion de petites tâches, je t'en suggérerais bien deux :
  • lire la charte du forum qui suggère fortement de joindre un classeur exemple aux demandes
  • relire la charte du forum qui suggère de rechercher les réponses déjà existantes à des questions semblables ou proches
Voilà, c'était mon coup de calcaire du jour.

PS j'utilise l'anglais au taf tous les jours et c'est une langue que j'aime bien lire et parler !
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro pour enchaînements de petites tâches

Bonjour à tous,
1.Retirer doublons de la colonne A (toutes la sélection)
2.Supprimer lignes avec valeur "0" dans la colonne E
3.Supprimer lignes avec valeur "/N" dans la colonne E

Dans les colonnes B et D
4.Remplacer les espaces vides par "-"
5.Remplacer "--" par "-"
6.Remplacer "---" par "-"
7.Remplacer "/" par "-"

8.Créer une colonne avec entête "URL"

9.Dans cette même colonne, faire un concatener comme suit :
"/" + Valeur colonne D + "-" + "valeur de la colonne B" + "-" + colonne de valeur "F" + ".html"
Code:
Application.ScreenUpdating = False
For i = Range("A65535").End(xlUp).Row To 2 Step -1
    If Application.WorksheetFunction.CountIf(Range("A:A"), Cells(i, 1)) = 1 Then
        If Cells(i, 5) = "O" Or Cells(i, 5) = "/N" Then
            Rows(i).Delete
            GoTo fin
        End If
        If Cells(i, 2) = "" Or Cells(i, 2) = "--" Or Cells(i, 2) = "---" Or Cells(i, 2) = "/" Then Cells(i, 2) = "-"
        If Cells(i, 4) = "" Or Cells(i, 4) = "--" Or Cells(i, 4) = "---" Or Cells(i, 4) = "/" Then Cells(i, 4) = "-"
        Cells(i, 10) = "/" & Cells(i, 4) & "-" & Cells(i, 2) & "-" & Cells(i, 6) & ".html"
    Else
        Rows(i).Delete
    End If
fin:
Next i
Application.ScreenUpdating = True
à+
Philippe
 

Staple1600

XLDnaute Barbatruc
Re : Macro pour enchaînements de petites tâches

Bonjour à tous

Je plussoie au calcaire du Gardien de Phare (que je salue au passage)

1.Retirer doublons de la colonne A (toutes la sélection)
2.Supprimer lignes avec valeur "0" dans la colonne E
3.Supprimer lignes avec valeur "/N" dans la colonne E
Ces trois actions se font aisément en utilisant les fonctionnalités natives d'Excel (Supprimer doublons, puis filtre automatique ou élaboré)
Et en utilisant l’enregistreur de macros, tu aurais déjà un début de code VBA, bool2gom ;)

PS: Il est encore temps de joindre un fichier exemple, histoire de faciliter nos tests.

A titre d'exemple, voici le genre de code (légèrement remanié) qu'offre l’enregistreur de macros
VB:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 16/08/2014
'
    Range("A1:A14").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    ActiveSheet.ShowAllData
    Range("A1:E14").AutoFilter Field:=5, Criteria1:="<>*O*", Operator:=xlAnd, _
        Criteria2:="<>*/N*"
End Sub
 
Dernière édition:

Discussions similaires

Réponses
22
Affichages
793

Statistiques des forums

Discussions
312 338
Messages
2 087 396
Membres
103 537
dernier inscrit
alisafred974