Catégories
Macro Caractères Macros

TRIM : supprimer les espaces

La variable Trim est utilisée pour supprimer les espaces.

La variable Trim

La variable Trim permet de réaliser une macro pour supprimer les espaces dans Excel.

La variable Trim en exemples

Les données sources

A B C D
1
2
3
4
5

La macro

Sub nommacro()

Dim c As Range ‘Variables

For Each c In Range(« A1:A5 ») ‘Colonne

ActiveCell.Offset(0, 0).FormulaR1C1 = _

Bientôt disponible

Next c

End Sub

Le résultat

A B C D
1
2
3
4
5

Remarques sur la variable Trim

Aucune remarque sur Trim pour le moment.

Catégories
Macro Caractères Macros

Macro pour renvoyer le nb de caractères d’une chaîne

La variable Len est utilisée pour renvoyer le nombre de caractères d’une chaîne.

La fonction Len

La variable Len permet de réaliser une macro pour renvoyer le nombre de caractères d’une chaîne dans Excel.

La macro

Sub docexcel()

Dim c As Range ‘Variables

For Each c In Range(« A1:A3« ) ‘Colonne

ActiveCell.Offset(0, 0).FormulaR1C1 = _
Len(c)

ActiveCell.Offset(1, 0).Select

Next c

End Sub

La variable Len en exemples

Les données sources

A B C
1  macro
2  excel
3  vba
4
5

Le résultat

A B C
1  macro 5
2 excel 5
3  vba 3
4
5
Catégories
Macro Caractères Macros

Macro pour mettre des caractères en minuscules

A l’instar de la fonction MINUSCULE(), la macro pour mettre les caractères en majuscules permet de libérer de la mémoire sous Excel, notamment dans le recalcul des données.

Les données sources

A B C D
1 MACRO
2 MINUSCULE
3 CARACTÈRE
4 VBA
5 EXCEL

La macro VBA

Sub nommacro()

Dim c As Range ‘Variables

For Each c In Range(« A1:A5 ») ‘Colonne

ActiveCell.Offset(0, 0).FormulaR1C1 = _
UCase$(c)

ActiveCell.Offset(1, 0).Select

Next c

End Sub

Le résultat

A B C D
1 MACRO macro
2 MINUSCULE minuscule
3 CARACTÈRE caractère
4 VBA vba
5 EXCEL excel
Catégories
Macro Caractères Macros

Macro pour mettre des caractères en majuscule

A l’instar de la fonction MAJUSCULE(), la macro pour mettre les caractères en majuscules permet de libérer de la mémoire sous Excel, notamment dans le recalcul des données.

Les données sources

A B C D
1 macro
2 majuscule
3 caractère
4 vba
5 excel

La macro VBA

Sub nommacro()

Dim c As Range ‘Variables

For Each c In Range(« A1:A5 ») ‘Colonne

ActiveCell.Offset(0, 0).FormulaR1C1 = _
UCase$(c)

ActiveCell.Offset(1, 0).Select

Next c

End Sub

Le résultat

A B C D
1 macro MACRO
2 majuscule MAJUSCULE
3 caractère CARACTÈRE
4 vba VBA
5 excel EXCEL
Catégories
Cours Macro Caractères Macros

Macro pour extraire des caractères à droite

A l’instar de la fonction DROITE(), la macro pour extraire les caractères à droite permet de libérer de la mémoire sous Excel, notamment dans le recalcul des données.

La macro VBA

Sub nommacro()

Dim c As Range ‘Variables

For Each c In Range(« A1:A6« ) ‘Colonne

ActiveCell.Offset(0, 0).FormulaR1C1 = _
Left$(c, 1)

ActiveCell.Offset(1, 0).Select

Next c

End Sub

Méthode

  • Copier la macro dans Visual Basic
  • Remplacer la plage en gras par la nouvelle plage de valeurs
  • Sélectionner la cellule dans laquelle il faut afficher le 1er résultat
  • Exécuter la macro

Application

Les données sources

A B C
1 macro
2 extraire
3 caractère
4 droite
5 vba
6 excel

Le résultat

A B C
1 macro o
2 extraire e
3 caractère e
4 droite e
5 vba a
6 excel l
Catégories
Cours Macro Caractères Macros

Macro pour extraire des caractères à gauche

A l’instar de la fonction GAUCHE() sous Excel, utiliser une macro pour extraire les caractères à gauche permet d’alléger le stockage des données.

La macro VBA

Sub nommacro()

Dim c As Range ‘Variables

For Each c In Range(« A1:A6« ) ‘Colonne

ActiveCell.Offset(0, 0).FormulaR1C1 = _
Left$(c, 1)

ActiveCell.Offset(1, 0).Select

Next c

End Sub

Méthode

  • Copier la macro dans Visual Basic
  • Remplacer la plage en gras par la nouvelle plage de valeurs
  • Sélectionner la cellule dans laquelle il faut afficher le 1er résultat
  • Exécuter la macro

Exemple

Les données sources

A B C
1 macro
2 extraire
3 caractère
4 gauche
5 vba
6 excel

Le résultat

A B C
1 macro m
2 extraire e
3 caractère c
4 gauche g
5 vba v
6 excel e
Catégories
Macro Caractères Macros

Macro pour concatener 2 colonnes

Il y a différentes manières de concatener 2 colonnes. On peut distinguer la concaténation « multiplicative » et la concaténation « additive ».

Macro pour concaténation « multiplicative »

Les données du tableau

A B C D E
1 A D
2 B E
3 F

La macro VBA

Sub concatenercol()

Dim c As Range, d As Range ‘Variables

For Each c In Range(« A1:A2 ») ‘Colonne 1
For Each d In Range(« B1:B3 ») ‘Colonne 2
ActiveCell.Offset(0, 0).FormulaR1C1 = _
c & d
ActiveCell.Offset(1, 0).Select
Next d
Next c

End Sub

Le résultat

A B C D
1 A D AD
2 B E AE
3 C F AF
4 BD
5 BE
6 BF
Catégories
Macro Caractères Macros

Macro pour supprimer les accents

La macro ci-dessous permet de supprimer les caractères accentués. La plage en gras correspond à la plage de valeurs dont les accents sont à supprimer.

Option Explicit

Const AccChars = « ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ »
Const RegChars = « SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy »

Sub SupprAccent()
Dim A As String * 1
Dim B As String * 1
Dim i As Integer

For i = 1 To Len(AccChars)
A = Mid(AccChars, i, 1)
B = Mid(RegChars, i, 1)

Range(« A1:A3« ).Replace What:=A, _
Replacement:=B, _
LookAt:=xlPart, _
MatchCase:=True

Next

End Sub

Application

Avant

A B C
1 pépé
2 mémé
3 bébé

Après

A B C
1 pepe
2 meme
3 bebe
Catégories
Macro Caractères Macros

Extraire des liens hypertextes avec VBA

Vous avez des liens hypertextes dans vos cellules et souhaitez les extraire ? Voici une formule qui exhaucera vos souhaits.

La macro d’extraction des liens

Sub extrairehyperlien()

Dim i As Range

For Each i In Selection.Cells
If (i.Hyperlinks(1).Address <>  » « ) Then
On Error Resume Next
i.Offset(0, 1) = i.Hyperlinks(1).Address

End If
Next

End Sub

Procédé :

  • Copier la macro dans Visual Basic
  • Sélectionner les cellules dont les liens sont à extraire
  • Exécuter la macro
  • Les résultats sont insérés à droite de chaque cellule

La macro en exemple

Avant

A B C
1 cours excel
2 tutoriel excel
3 doc excel

Après

A B C
1 cours excel http://www.docexcel.com
2 tutoriel excel http://www.docexcel.com
3 doc excel http://www.docexcel.com