appliquer la meme macro sur plusieurs colonnes

thotmes

XLDnaute Nouveau
Salut,

j'essaie d'appliquer la meme macro sur plusieurs colonnes parfois séparées de ma feuille Excel....

j'aimerai faire autrement que copier le meme code plusieurs fois en changeant juste la lettre de la colonne mais je ne sais pas comment faire...

Avez vous une idée?

merci d'avance
 

Cousinhub

XLDnaute Barbatruc
Re : appliquer la meme macro sur plusieurs colonnes

Bonsoir,

un petit exemple, selon que tu désires utiliser le numéro de la colonne, ou sa lettre :

Code:
Sub numero()
Dim NumCol
For Each NumCol In Array("1", "3", "4", "8")
    Columns(CInt(NumCol)).Font.Bold = True
Next NumCol
End Sub


Sub lettre()
Dim NumCol
For Each NumCol In Array("A", "B", "D", "H")
    Columns(NumCol).Font.Bold = True
Next NumCol
End Sub

Sinon, joint un fichier exemple, pour plus de précisions
 

thotmes

XLDnaute Nouveau
Re : appliquer la meme macro sur plusieurs colonnes

Salut,

merci pour ta réponse, ca marche nickel!

en fait je reçois tous les jours un fichier Excel avec de nombreuses colonnes comportant des dates dont la conversion système américain vers français s'est mal faite.

sur cet exemple ta solution me convient parfaitement
 

Pièces jointes

  • conversionsurplusieurscolonnes.zip
    12.2 KB · Affichages: 126

Cousinhub

XLDnaute Barbatruc
Re : appliquer la meme macro sur plusieurs colonnes

Re-,

une autre solution, pour ton problème, en utilisant Données/Convertir (en VBA)

Code:
Sub essaiboucle()

Dim derligne As Long
Dim plage As Range
Dim Numcol

derligne = Range("A2").End(xlDown).Row

For Each Numcol In Array("A", "B", "D", "F", "G", "H", "I", "J")
Set plage = Range(Numcol & "2:" & Numcol & derligne)
plage.TextToColumns Destination:=Range(Numcol & "2"), DataType:=xlDelimited, _
         FieldInfo:=Array(1, 3), TrailingMinusNumbers:=True
Next Numcol
End Sub

Regarde, si cela fonctionne chez toi, j'ai fait l'essai avec ton fichier, cela fonctionne, si toutes les dates sont à convertir
 

thotmes

XLDnaute Nouveau
Re : appliquer la meme macro sur plusieurs colonnes

Salut bhbh,

merci pour ta réponse,

j'ai essayé la solution que tu proposes.

comme tu l'as remarqué, dans mes colonnes il y a des dates considérées comme du texte par Excel et d'autres qui sont déjà considérées comme des dates... mais toutes ces dates sont au format américain, c'est à dire que:

le 1/22/08 est en fait le 22 janv. 2008
le 2/04/08 est en fait le 4 fév. 2008

ta solution me permet bien de reconvertir le texte en date: le 1/22/08 devient le 22/01/08.
Par contre elle ne touche pas au 2/04/08 qui reste le 2 avril pour Excel...

c'est pour ca que dans ma macro j'extrais le jour et le mois pour les inverser ensuite... mais je me doute que c'est pas très performant!

j'ai pas encore essayé cette macro sur le fichier original ou il y a une 20aine de colonnes avec 13000 lignes a convertir....:eek:
 

Discussions similaires

Réponses
1
Affichages
225

Statistiques des forums

Discussions
312 294
Messages
2 086 900
Membres
103 404
dernier inscrit
sultan87