Ajouter du texte aux cellules à droite ou à gauche avec Excel VBA

Il n’est pas rare que des données supplémentaires soient saisies dans certaines cellules (au début ou à la fin). Et vous devrez donc peut-être ajouter un numéro de téléphone, par exemple un code postal. Cette macro illustre la méthode d’automatisation d’une tâche standard liée à l’ajout de données aux cellules.
Comment ca marche?
La macro utilise deux variables d’objet de type Range. Ils seront utilisés pour opérer sur les cellules de la plage. Pour activer des cellules individuelles l’instruction For Each a été utilisée. Chaque fois qu’une cellule est activée, la macro insère le code postal au début de la valeur dans la cellule (à gauche).

Sub AjouterTexte()
'Étape 1: Déclarez les variables
Dim MaPlage As Range
Dim MesCellules As Range
'Étape 2: enregistrer la feuille de calcul avant d'apporter des modifications aux cellules
Select Case MsgBox("Les actions ne peuvent pas être annulées." & "Voulez-vous d'abord enregistrer la feuille de calcul?", vbYesNoCancel)
Case Is = vbYes
ThisWorkbook.Save
Case Is = vbCancel
Exit Sub
End Select
'Étape 3: définir la plage de cellules
Set MaPlage = Selection
'Étape 4: Démarrage d'une boucle pour la plage
For Each MaCellule In MyRange
'Étape 5: Vérifier si la cellule est formatée en tant que texte
If Not IsEmpty(MesCellules) Then
MesCellules = "(41-154) " & MesCellules
End If
'Étape 6: passer à la cellule suivante de la plage
Next MesCellules
End Sub

Commentaires

1. Dans la première étape, les variables d’objet de plage sont diminuées – l’adresse de la plage entière sera stockée dans la variable MaPlage, tandis que la variable MesCellules stockera les données des cellules calculées successivement de la plage donnée.
2. Lorsque la macro est exécutée, la pile d’annulation sera supprimée. Cela signifie qu’il ne sera pas possible d’annuler les actions prises par la macro. Étant donné que les données changent, il est utile d’avoir la possibilité d’enregistrer le classeur avant d’exécuter la macro. Cela se déroule ensuite à l’étape deux. Une boîte de message s’affiche, qui propose des options pour enregistrer le classeur. Il propose trois options: Oui, Non et Annuler. Cliquez sur Oui pour enregistrer le classeur et poursuivre la macro. Cliquez sur Annuler pour mettre fin à la macro. En revanche, cliquez sur le bouton Non pour lancer la macro sans enregistrer le classeur au préalable.
3. À l’étape trois, la plage cible de cellules est transmise à la variable MyRange. Dans cet exemple, la plage déjà sélectionnée dans la feuille de calcul est sélectionnée. Bien entendu, la variable MaPlage peut facilement être définie sur une plage spécifique, par exemple Range (“A1: Z100”). De même, lorsqu’une plage a un nom. Ensuite, vous pouvez simplement le saisir: Range (“nomdeplage”).
4. À l’étape quatre, une boucle est lancée qui activera tour à tour chaque cellule dans la plage spécifiée.
5. Lorsque la cellule est active, le code postal est lié à la valeur de la cellule par le signe @. Si le texte doit être ajouté à la fin de la valeur dans la cellule (à droite), le signe @ et le texte doivent être à la fin.
6. À l’étape six, la boucle passe à la cellule suivante. Après avoir activé toutes les cellules de la plage macro, l’opération se termine.
Comment appliquer la macro?
Pour implémenter cette macro, vous pouvez copier et coller son code dans un module standard.
À cette fin:
1. Utilisez la combinaison de touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, cliquez avec le bouton droit sur le nom du projet ou de la feuille.
3. Sélectionnez Insérer / Module.
4. Saisissez ou collez le code.
S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x