• Initiateur de la discussion Initiateur de la discussion djo973
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

djo973

Guest
Bonjour,

J'ai un tableau dans lequel une des colonnes contient des adresses Mac sous le format xx.xx.xx.xx.xx.xx et je souhaiterai avoir le format suivant xxxx.xxxx.xxxx

J'aimerais introduire la solution dans une macro existante.

Merci de votre aide
🙂
 
Re : Format cellule

un exemple avec ton entrée dans la colonne A sous la forme xx.xx.xx.xx.xx.xx :
VB:
Dim c as Range
set c=range("A1")
do while c<>""
  c= replace(c,".","")
  if len(c)=12 then c = left$(c,4) & "." & mid(c,5,4) & "." & right$(c,4)
  set c=c.offset(1,0)
loop
 
Dernière édition:
Re : Format cellule

Oui merci pour la modification!

Ton code fonctionne seulement je trouve dans certaines cellules un format de type "xxxxxxxxxx" ou encore "x,xxE+07...+10...".

Soit il me supprime les 2 premiers zéro soit il m'en ajoute à la fin.
J'ai ce soucis sur une centaine de cellules sur 1000. C'est assez aléatoire, j'ai des adresses Mac commençant par 00.0... et dans certains le changement se fait bien...
 
Re : Format cellule

J'ai réutilisé ton code pour remplir les cellules d'une colonne :

Tant que les cellules de la colonne A contiennent le mot "address", écrire "vlan-name" dans les cellules de la colonne C...

Ma boucle fonctionne, seulement, "vlan-name" s'arrête à la 1ere cellule de la colonne C.

Voici mon code:

Sheets("Sheet3").Select
Dim v As Range
Dim colA As Range
Set v = Range("C1")
Set colA = Range("A1")
Do While colA = "address"
v = "vlan-name"
Set v = v.Offset(1, 0) --> erreur ici

Si quelqu'un peur m'aider...MERCI 😉
 
Re : Format cellule

Bonjour,

essaie :
VB:
Dim colA As Range
  Set colA = Sheets("Sheet3").Range("A1")
  Do While colA = "address"
      ColA.offset(0,2) = "vlan-name"
      Set ColA = ColA.Offset(1, 0)
  Loop

Ceci dit, je ne suis pas certain que c'est bien ce que tu souhaitais faire. A ce moment là essaie ceci :
VB:
Dim c As Range
  For each c in Sheets("Sheet3").Range("A1:A" & Sheets("Sheet3").Range("A65536").End(xlup).row)
      if c = "address" then c.offset(0,2) = "vlan-name"
  Next c
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
118
Réponses
8
Affichages
317
Réponses
3
Affichages
136
Réponses
12
Affichages
344
Retour