Rapport de message :*
 

Re: DECALER

Titre du sujet : Re: DECALER
par Guy le 04/10/2010 12:15:25

Bonjour jad73,

Vu l'heure à laquelle j'ai parcouru le code (5:10h), je n'ai pas pris la peine d'en faire l'exégèse. Cependant mon petit doigt me dit qu'il y a là vigoureux ménage à faire. Bref.

J'ai modifié la procédure toto_1() ainsi :

- nouvelle variable de type Range
' Plage des résultats
Dim rngPlageRes As Range
 
- modification du caractère de séparation
   For j = 0 To bs
    ' Modification : caractère + remplacé par ;
      s = s & IIf(i \ (2 ^ j) Mod 2, oDat(j) & ";", "")
    Next j
 
- distribution des chaînes résultat dans les cellules
' Si lors de la distribution des valeurs sont inscrites dans les cellules des résultats
' Excel affiche un message d'avertissement pour informer que des valeurs seront écrasées.
' L'affichage de ce message est désactivé, les données sont inscrites sans autre précaution.
 Application.DisplayAlerts = False
       
 ' La plage des résultats est posée
  Set rngPlageRes = .Offset(1, 0).Resize(oColl.Count, 1)
 ' Les données y sont déposées
  rngPlageRes.Value = oDat
 ' Puis les données sont distribuées dans les colonnes adjacentes
 For Each oCel In rngPlageRes.Cells
       
    oCel.TextToColumns Destination:=oCel.Offset(0, 1), DataType:=xlDelimited, consecutivedelimiter:=True, semicolon:=True
         
 Next
 

Plus de détails suivront si tu as besoin d'explications. Pour l'heure ce brouillon devrait être une piste à suivre.

Cordialement,

Guy

P.S. J'ai monté ce classeur avec Excel 2010. M'avertir si il ne s'affiche pas correctement dans une version antérieure, sait-on jamais.