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

Macros et VBA Excel Discussion :

Suppression des formats non utilisés EXCEL code à mettre à jour


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Ergonome
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Suppression des formats non utilisés EXCEL code à mettre à jour
    Bonjour à tous

    J'ai trouvé sur le net un code qui fait exactement ce que j'ai besoin "supprimer les formats des cellules vides ou non utilisés".
    Le code date un peu et ne fonctionne pas sur excel 2010.

    Si une ame pourrait m'aider. Merci pour votre aide.

    Merci aussi à son auteur;
    http://dj.joss.free.fr/format.htm


    Ci dessous le 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    Sub SupprFormatsInutilisés()
    SupprFormats True
    End Sub
     
    Sub 
    SupprFormatsCellulesVides()
    SupprFormats False
    End Sub
     
    Private Sub 
    SupprFormats(Min As Boolean)
     
    Dim Form As String, Prev As String, F As 
    String
    Dim i As Integer, j As Integer
     
    Dim dObj As New DataObject, c As 
    New Collection Dim Wksht As Worksheet, Cell As Range, Shts As 
    Sheets
     
    Application.EnableCancelKey = xlDisabled
    Application.StatusBar 
    = "Collecte des formats en cours..."
    Do
    j = (j + 1) Mod 5
    If j = 0 Then 
    i = i + 1
    Application.SendKeys "{TAB}{END}{TAB 2}{HOME}" & IIf(i, "{PGDN 
    " _
    & i & "}", "") & IIf(j, "{DOWN " & j & "}", "") & 
    "+{TAB}^c{ESC}"
    Application.Dialogs(xlDialogFormatNumber).Show
    dObj.GetFromClipboard
    Form 
    = dObj.GetText(1)
    If Form = Prev Then Exit Do
    c.Add Form, Form
    Prev = 
    Form
    Loop
     
    Application.StatusBar = "Recherche des formats utilisés en 
    cours..."
    Set Shts = ActiveWindow.SelectedSheets
    On Error Resume 
    Next
    For Each Wksht In Worksheets
    Wksht.Select
    For Each Cell In 
    Wksht.UsedRange
    If Not IsEmpty(Cell) Or Min Then
    F = 
    c.Item(Cell.NumberFormatLocal)
    If F <> "" Then
    c.Remove 
    Cell.NumberFormatLocal
    F = ""
    End If
    End If
    Next Cell
    Next Wksht 
    Application.ScreenUpdating = False
    Err.Clear
    Application.StatusBar = 
    False
    j = 0
     
    With ActiveWorkbook
    Workbooks.Add
    For i = 1 To 
    c.Count
    Range("A1").NumberFormatLocal = c(i)
    .DeleteNumberFormat 
    ActiveCell.NumberFormat
    If Err = 0 Then j = j + 1 Else Err.Clear
    Next 
    i
    MsgBox j & " format(s) inutilisé(s) supprimé(s).", vbInformation
    End 
    With
    ActiveWorkbook.Close False
    Shts.Select
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par iixii Voir le message
    Le code date un peu et ne fonctionne pas sur excel 2010.
    Quels éléments ne fonctionnent pas.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour !

    Citation Envoyé par iixii Voir le message
    Le code date un peu et ne fonctionne pas sur excel 2010.
    Aucun rapport avec la version d'Excel ‼     Trouver un code forcément ne correspondant pas au besoin ou au contexte …
    Des codes fonctionnant sur Excel 2003 continuent encore de fonctionner sur les versions supérieures …

    Activer l'Enregistreur de macro puis opérer manuellement :  une base de code est livrée sur un plateau !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Ergonome
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    Merci pour votre aide.

    Ci-joint la partie du code qui apparait en rouge lorsque je l'intègre dans un macro :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim dObj As New DataObject, c As New Collection Dim Wksht As Worksheet, Cell As Range, Shts As Sheets
    et à la fin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Next Wksht Application.ScreenUpdating = False
    Merci encore

    Je ne peux pas enregistrer cette macro car il y a des conditions : si cellule excel vide de caractère alors j'efface le format.

    Test 2.xlsm

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par iixii Voir le message
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim dObj As New DataObject, c As New Collection Dim Wksht As Worksheet, Cell As Range, Shts As Sheets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Next Wksht Application.ScreenUpdating = False
    On ne peut pas avoir deux dim sur la même ligne sans mettre un deux-points avant le second dim

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim dObj As New DataObject, c As New Collection :  Dim Wksht As Worksheet, Cell As Range, Shts As Sheets
    Mais comme c'était pour économiser la mémoire vive; aujourd'hui c'est plutôt désuet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim dObj As New DataObject, c As New Collection
    Dim Wksht As Worksheet, Cell As Range, Shts As Sheets
    Même chose pour ton autre ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Next Wksht :  Application.ScreenUpdating = False
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Next Wksht
    Application.ScreenUpdating = False
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    un clear sur les cellules vides ne serait pas plus simple ????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [9.1] Suppression des index non utilisés
    Par davidjo_20165 dans le forum Administration
    Réponses: 2
    Dernier message: 14/02/2018, 10h41
  2. Réponses: 6
    Dernier message: 20/05/2009, 09h35
  3. Réponses: 6
    Dernier message: 16/03/2009, 08h57
  4. Récupérer des enregistrements non utilisés
    Par Tchupacabra dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/10/2008, 15h38
  5. Réponses: 2
    Dernier message: 04/05/2007, 10h55

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