XL 2010 Macro VBA Excel (Doublon,SansAccents,Maj,Min,Nompropre,Espaces superflus)

Virginie17d

XLDnaute Occasionnel
1588208871672.png
 

Pièces jointes

  • MACROS VBA PERSONNEL.xlsm
    60.1 KB · Affichages: 264

eriiic

XLDnaute Barbatruc
Bonjour à tous,

Juste en passant, en plus de "Ca va prendre du temps", j'aurais bien vu un ScreenUpdating = false (ou bien mes lunettes sont sales)
A avoir trop le nez dans le guidon on ne voit plus les évidences ;)
eric
 

patricktoulon

XLDnaute Barbatruc
re
@eriiiic
ben en fait ca sert plus a rien car je bloque au usedrange.rows.count et même 1000 ligne chez mois c'est quasi instantané

ps: virginie ne compile pas encore j'ai oublié de corrigé un truc de thierry

change ca
VB:
Option Explicit

'Remplacé par PatrickToulon
'modif Thierry

Sub EspacesSuperflus_Total()
Dim Cell As Range, expression, Sp$
Dim c As Byte
     Sp = " "
    expression = Array("/", "-")    ' ajouter des expressions ici sans les espaces au besoins
    For Each Cell In ActiveSheet.UsedRange
  
    If IsError(Cell) Then Exit For ' <<<<<<<<<<<  ("N/A" dans C91)
        For c = 0 To UBound(expression)
            Cell.Value = Application.Trim(Replace(Replace(Cell.Value, Sp & expression(c), expression(c)), expression(c) & Sp, expression(c)))
        Next
    Next
End Sub
pour ca

VB:
Option Explicit

'Remplacé par PatrickToulon
'modif Thierry

Sub EspacesSuperflus_Total()
Dim Cell As Range, expression, Sp$
Dim c As Byte
     Sp = " "
    expression = Array("/", "-")    ' ajouter des expressions ici sans les espaces au besoins
    For Each Cell In ActiveSheet.UsedRange
  
    If not IsError(Cell) Then ' <<<<<<<<<<<  ("N/A" dans C91)
        For c = 0 To UBound(expression)
            Cell.Value = Application.Trim(Replace(Replace(Cell.Value, Sp & expression(c), expression(c)), expression(c) & Sp, expression(c)))
        Next
   End if
Next
End Sub
sinon il va s’arrêter au n/a et pas faire le reste ;)

d
' ailleurs ici aussi il faudrait un menu selection ou usedrange
parce que si a chaque fois tu veux en corriger une tu te tape tout le used c'est moyen
si tu veux je te le fait
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Patrick, Merci pour la proposition,

Je ne vais pas avoir le temps je crains, en plus j'ai passé une nuit blanche hier, et j'ai encore un truc à finir pour le taff... Je vais pas trop me lancer dans des trucs ce soir...
J'essayais juste d'extraire le Tel Format pour Virginie car celui dans ta version date de deux versions antérieures... Mais je n'arrive pas à avancer (je travaille avec une utilisatrice à New York qui nous a planté le système d'archivage numérique en passant des factures scannées avec soniPhone en qualité max !)
@+Thierry

Si tu arrives à mettre le tel de la même manière avec les ControlUI et les Multi-Colonnes
VB:
<gallery label="Téléphone Format"  size="large" imageMso="AutoDial" id="Tel0"  columns="1" supertip=" PERMET DE METTRE LE NUMERO DE TELEPHONE SOUS LE FORMAT TRAVELDOO" >
<button id="Tel1" label="SELECTION" imageMso="AutoDial" tag="1" onAction="RUNTEL" />
<button id="Tel2" label="COLONNE ENTIERE" imageMso="AutoDial" tag="2" onAction="RUNTEL" />
<button id="Tel3" label="MULTICOLONNE" imageMso="AutoDial" tag="3" onAction="RUNTEL" />
</gallery>
 
Dernière édition:

Virginie17d

XLDnaute Occasionnel
re
@eriiiic
ben en fait ca sert plus a rien car je bloque au usedrange.rows.count et même 1000 ligne chez mois c'est quasi instantané

ps: virginie ne compile pas encore j'ai oublié de corrigé un truc de thierry

change ca
VB:
Option Explicit

'Remplacé par PatrickToulon
'modif Thierry

Sub EspacesSuperflus_Total()
Dim Cell As Range, expression, Sp$
Dim c As Byte
     Sp = " "
    expression = Array("/", "-")    ' ajouter des expressions ici sans les espaces au besoins
    For Each Cell In ActiveSheet.UsedRange
 
    If IsError(Cell) Then Exit For ' <<<<<<<<<<<  ("N/A" dans C91)
        For c = 0 To UBound(expression)
            Cell.Value = Application.Trim(Replace(Replace(Cell.Value, Sp & expression(c), expression(c)), expression(c) & Sp, expression(c)))
        Next
    Next
End Sub
pour ca

VB:
Option Explicit

'Remplacé par PatrickToulon
'modif Thierry

Sub EspacesSuperflus_Total()
Dim Cell As Range, expression, Sp$
Dim c As Byte
     Sp = " "
    expression = Array("/", "-")    ' ajouter des expressions ici sans les espaces au besoins
    For Each Cell In ActiveSheet.UsedRange
 
    If not IsError(Cell) Then ' <<<<<<<<<<<  ("N/A" dans C91)
        For c = 0 To UBound(expression)
            Cell.Value = Application.Trim(Replace(Replace(Cell.Value, Sp & expression(c), expression(c)), expression(c) & Sp, expression(c)))
        Next
   End if
Next
End Sub
sinon il va s’arrêter au n/a et pas faire le reste ;)

d
' ailleurs ici aussi il faudrait un menu selection ou usedrange
parce que si a chaque fois tu veux en corriger une tu te tape tout le used c'est moyen
si tu veux je te le fait
Le menu se gère uniquement dans le CustomUI ? je peux essayer, ca va me prendre la soirée mais c'est tjrs utile d'apprendre.
Ci joint la dernière version avec le CustomUI à Jour et la correction demandé dans VBA sur TRIM ESPACES.
 

Pièces jointes

  • XLD_Virginie17d fonction perso Virginie V08.xlsm
    59.2 KB · Affichages: 7

Virginie17d

XLDnaute Occasionnel
Je dirais meme plus :

<gallery label="Téléphone" size="large" imageMso="AutoDial" id="np0" columns="1" Supertip="PERMET DE METTRE LE NUMERO DE TELEPHONE SOUS LE FORMAT TRAVELDOO"

<button id="np01" label="SELECTION" imageMso="FormControlLabel" tag="1" onAction="RUNNUM1" />
<button id="np02" label="COLONNE ENTIERE" imageMso="FormControlLabel" tag="2" onAction="RUNNUM1" />
<button id="np03" label="MULTICOLONNE" imageMso="FormControlLabel" tag="3" onAction="RUNRUNNUM1" />
</gallery>
<separator id="Sep09"/>

Dites moi que j'assure ?
 

patricktoulon

XLDnaute Barbatruc
ouais r'assure ton tour de vaisselle ouais ;)
l'image c'est pas bon
le onaction c'est pas bon
et pour la peine tu la fera toute la semaine:D:D:D:D

non sérieusement ça fait plaisir d'avoir quelqu'un qui évolue a l'aise on peu avancer sur un projet sans stagner
faut reconnaître que tu es pas mauvaise

mais ça te dédoine pas de la vaisselle
 

Virginie17d

XLDnaute Occasionnel
ouais r'assure ton tour de vaisselle ouais ;)
l'image c'est pas bon
le onaction c'est pas bon
et pour la peine tu la fera toute la semaine:D:D:D:D

non sérieusement ça fait plaisir d'avoir quelqu'un qui évolue a l'aise on peu avancer sur un projet sans stagner
faut reconnaître que tu es pas mauvaise

mais ça te dédoine pas de la vaisselle
Ben moi qui était hyper fier de moi, tu viens de me démolir en 3 sec, tu me fais beaucoup de peine, c'est quoi "c'est pas bon" "c'est pas bon", d'abord on dit pas que c'est pas bon avant d'y avoir gouter.
Tu te rattrappe bien avec le 'tu es pas mauvaise'. N'ayons pas peur des mots, je suis bonnnnnnnnnneeee.
Et j'ai un lave vaiselle et un mec, pourquoi je me taperais la vaisselle ??? :D :D :D

Blague à part ou est mon erreur de Syntaxe ???

Es ce qu'on peu voir ensemble le sujet du recherche V ou Chti n'a pas su m'aider tout à l'heure? je crois que je lui ai fais peur ;)
 

Virginie17d

XLDnaute Occasionnel
Voic
Bon j'ai remis tout en place ...

@+Thierry, sorry je suis en ligne (au tel)
Voici la dernière version avec les maj de thierry, par contre j'attends le retour de Patrick pour ma maj du custom UI, car j'ai un message d'erreur.

1588620641473.png


<customUI xmlns="">
<ribbon startFromScratch="false">

<tabs>

<tab id="customTab" label="Template">

<group id="customGroup" label="TRAVELDOO">


<gallery label="Minuscule" size="large" imageMso="FontSizeDecrease" id="min0" columns="1" supertip="MISE EN MINUSCULE DE TOUTES LES CELLULES DE LA SELECTION" >

<button id="min1" label="SELECTION" tag="1" imageMso="FontSizeDecrease" onAction="RUNMIN" />
<button id="min2" label="COLONNE ENTIERE" tag="2" imageMso="FontSizeDecrease" onAction="RUNMIN" />
<button id="min3" label="MULTICOLONNE" tag="3" imageMso="FontSizeDecrease" onAction="RUNMIN" />
</gallery>
<separator id="Sep01"/>
<gallery label="Majuscule" size="large" imageMso="FontSizeIncrease" id="Maj0" columns="1" supertip="MISE EN MAJUSCULE DE TOUTES LES CELLULES DE LA SELECTION" >

<button id="maj01" label="SELECTION" imageMso="FontSizeIncrease" tag="1" onAction="RUNMAJ" />
<button id="maj02" label="COLONNE ENTIERE" imageMso="FontSizeIncrease" tag="2" onAction="RUNMAJ" />
<button id="maj03" label="MULTICOLONNE" imageMso="FontSizeIncrease" tag="3" onAction="RUNMAJ" />
</gallery>

<separator id="Sep02"/>

<gallery label="Nom Propre" size="large" imageMso="ChangeStylesMenu" id="np0" columns="1" supertip="MISE EN Nom Propre DE TOUTES LES CELLULES DE LA SELECTION" >

<button id="np01" label="SELECTION" imageMso="ChangeStylesMenu" tag="1" onAction="RUNPROPER" />
<button id="np02" label="COLONNE ENTIERE" imageMso="ChangeStylesMenu" tag="2" onAction="RUNPROPER" />
<button id="np03" label="MULTICOLONNE" imageMso="ChangeStylesMenu" tag="3" onAction="RUNPROPER" />
</gallery>
<separator id="Sep03"/>


<button id="customButton4" label="Caractères" imageMso="EncodingMenu" size="large" supertip=" SUPPRESSION DE TOUT LES ACCENTS DANS TOUTES LES CELLULES DE LA SELECTION" onAction= "RUNCHAR" />
<separator id="Sep04"/>

<button id="customButton5" label="Login" imageMso="DatabasePermissionsMenu" size="large" supertip=" CONCATENER LES DEUX CELLULE VERS COLONNE C" onAction="RUNCONCAT" />
<separator id="Sep05"/>

<button id="customButton6" label="TrimEspaces" imageMso="TextEffectTracking" size="large" supertip=" SUPPRIME L ENSEMBLE DES ESPACES SUPERFLUS DANS TOUTES LES CELLULES DU TABLEAU" onAction="RUNTRIM" />
<separator id="Sep06"/>

<button id="customButton7" label="Générateur MDP" imageMso="Lock" size="large" supertip=" PERMET DE GENERER UN MOT DE PASSE DANS TOUTES LES CELLULES DE LA SELECTION" onAction="RUNMDP" />
<separator id="Sep07"/>

<button id="customButton8" label="Doublon Users" imageMso="UnderlineDouble" size="large" supertip=" PERMET DE SUPPRIMER TOUTES LES LIGNES DONT LE LOGIN/MDP/DTN SONT IDENTIQUES" onAction="RUNDBL" />
<separator id="Sep08"/>


<gallery label="Téléphone" size="large" imageMso="AutoDial" id="tel0" columns="1" Supertip="PERMET DE METTRE LE NUMERO DE TELEPHONE SOUS LE FORMAT TRAVELDOO"

<button id="tel1" label="SELECTION" imageMso="AutoDial" tag="1" onAction="RUNTEL" />
<button id="tel2" label="COLONNE ENTIERE" imageMso="AutoDial" tag="2" onAction="RUNTEL" />
<button id="tel3" label="MULTICOLONNE" imageMso="AutoDial" tag="3" onAction="RUNRUNTEL" />
</gallery>
<separator id="Sep09"/>

<button id="customButton10" label="A Venir" imageMso="Delete" size="large" supertip=" NOUVELLE MACRO A VENIR" onAction="RUNNUM3" />
<separator id="Sep10"/>

<button id="customButton11" label="A Venir" imageMso="Delete" size="large" supertip=" NOUVELLE MACRO A VENIR" onAction="RUNNUM4" />
<separator id="Sep11"/>

<button id="customButton12" label="Spéciale dinde de la Techno" imageMso="VisibilityVisible" size="large" supertip=" TU PEUX PAS T EMPECHER DE CLIQUER PARTOUT ?" onAction="RUNMACRO2" />
<separator id="Sep12"/>
</group>


</tab>

</tabs>

</ribbon>

</customUI>
 

Pièces jointes

  • XLD_Virginie17d fonction perso V9.xlsm
    58.8 KB · Affichages: 7

Virginie17d

XLDnaute Occasionnel
Ou
regarde bien mes menu dans xml
regarde les callback dans module 0 et comment je le gère dans la sub traite

il va te falloir faire un truc du même genre
Ok mais pour le min/maj/Npropre j'ai 3 modules disctinct alors que j'en ai qu'un pour le telephone.

Puis je faire 3 sub différents dans le commun appelant le même RUN ?

En plus sur la dernière Maj de Thierry il à mit dans le commun
Sub RUNTEL(Control As IRibbonControl)
If Workbooks.Count = 0 Then Exit Sub
PhoneFormat "zzz", Val(Control.Tag)
End Sub

J'en fais quoi?
Vous m'avez perdu
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Heuh, je ne comprends pas, tout est fait dans le fichier que j'ai posté #281
Le Ribbon, la gestion des boutons TelFormats avec les trois options, tout est à jour...
... Même le chagement de Trim pour les Exit For...

Vous aimez vous compliquer la vie on dirait ?

Ou bien quelque chose m'échappe ;)
@+Thierry
 

Discussions similaires

Réponses
1
Affichages
434
Réponses
5
Affichages
273

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
315 124
Messages
2 116 471
Membres
112 753
dernier inscrit
PUARAI29