XL 2016 Problème sur une macro

robertduval

XLDnaute Junior
Bonjour j'ai une macro qui ne fonctionne plus suite à une mise a jour d'un site, y a t'il possibilité de la modifier
Merci
 

Pièces jointes

  • TEST.xlsm
    19.8 KB · Affichages: 11
Solution
Bonjour tout le monde. :)
Et pour éviter le problème du Mid ( post #4 ) et en s'inspirant de Replace de Job, on arrive à :
VB:
        Ws.Cells(j, 4) = "'" & Ws.Cells(i + 3, 1) & "-" & Ws.Cells(i + 4, 1)
        Chaine = Ws.Cells(i + 5, 1) & "-" & Ws.Cells(i + 6, 1)
        Ws.Cells(j, 5) = "'" & Replace(Replace(Chaine, "(", ""), ")", "")

job75

XLDnaute Barbatruc
Bonjour robertduval,

Voyez le fichier joint et cette macro :
VB:
Sub RangeLesDonneesFlash()
Dim pas%, coldeb%, i&, lig&, col%, j&
pas = 7 'à adapter
coldeb = 2 'à adapter
With Feuil1.[A1].CurrentRegion
    For i = 1 To .Rows.Count Step pas
        lig = lig + 1
        col = coldeb
        For j = i + 1 To i + pas - 1
            .Cells(lig, col) = Replace(Replace(.Cells(j, 1), "(", ""), ")", "")
            col = col + 1
    Next j, i
    .Cells(lig + 1, coldeb).Resize(.Rows.Count - lig, pas - 1).ClearContents 'RAZ en dessous
End With
End Sub
Edit : salut M12.

A+
 

Pièces jointes

  • TEST(1).xlsm
    20.2 KB · Affichages: 3
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Robertduval,
Difficile de voir d'où vient le problème puisqu'on n'a pas la structure précédente.
Une piste : Dans cette ligne Ws.Cells(j, 5) = VBA.Right(Ws.Cells(i + 4, 1), Len(Ws.Cells(i + 4, 1)) - 1) on fait référence à i+4, soit pour le premier à la chaine "1", or Len(Ws.Cells(i + 4, 1)) - 1 vaut donc 0.
J'ai donc remplacer ces deux lignes par :
Code:
        Ws.Cells(j, 4) = "'" & Ws.Cells(i + 3, 1) & "-" & Ws.Cells(i + 4, 1)
        Ws.Cells(j, 5) = "'" & Mid(Ws.Cells(i + 5, 1), 2, 1) & "-" & Mid(Ws.Cells(i + 6, 1), 2, 1)
et le code tourne.
A vérifier si c'est correct. En particulier je fait un Mid qui ne prend qu'un caractère, s'il y avait ligne 6 ou 7
"(12)" alors cela ne marcherait pas, je n'attend qu'un caractère. Sinon il faut reprendre cette ligne.
 

Pièces jointes

  • TEST (3).xlsm
    18.3 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Job,
La feuil2 semble montrer le résultat attendu.
Bonjour je récuperais des données en copier collé sur un site, mais maintenant les données sont disposé autrement j'ai ma macro qui ne fonctionne plus en feuil2 j'ai fait comment c'etais avant y a-t-il moyen de modifier la macro MERCI
PS: Désolé de n'avoir pas salué en arrivant, il y a de plus en plus de problème de refresh et de synchro sur XLD.:(
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour tout le monde. :)
Et pour éviter le problème du Mid ( post #4 ) et en s'inspirant de Replace de Job, on arrive à :
VB:
        Ws.Cells(j, 4) = "'" & Ws.Cells(i + 3, 1) & "-" & Ws.Cells(i + 4, 1)
        Chaine = Ws.Cells(i + 5, 1) & "-" & Ws.Cells(i + 6, 1)
        Ws.Cells(j, 5) = "'" & Replace(Replace(Chaine, "(", ""), ")", "")
 

Pièces jointes

  • TEST (4).xlsm
    18.4 KB · Affichages: 4

robertduval

XLDnaute Junior
Bonjour à tous M12, job75, sylvanu.
Merci à vous 3 de vous êtres penché sur mon problème sylvanu as trouvé ce que je voulais ça fonctionne j'ai juste rajouté les espaces entre les 2 chiffres du score et le -, par contre c'est quoi le Mid, pour juste comprendre en cas de plantage de la macro.
Merci encore à vous 3
 

Statistiques des forums

Discussions
312 302
Messages
2 087 035
Membres
103 436
dernier inscrit
PascalH