Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Problème macro

lehcim

XLDnaute Nouveau
Je veux alimenter un feuillet en allant récupérer les informations sur un feuillet « rencontres ». Il s’agit de pétanque avec des prénoms en colonne A et B et des scores en colonne C ;

Comme j’ai pas mal de lignes (ici je n’ai fait qu’un extrait) j’ai créé 2 macros ;

Pour les prénoms je n’ai aucun souci, mais celle pour les scores ne fonctionne pas et je n’arrive pas à trouver pourquoi.

Quelqu’un pourrait-il me résoudre ce problème ?

Merci d’avance.



Cordialement
 

Pièces jointes

  • Test2.xlsm
    16.3 KB · Affichages: 9
Solution
@lehcim

Ceci devrait mieux fonctionner ....
Dans un module
VB:
Sub Test()
Dim TDon(), TRés(), L&, SC() As String
TDon = Sheet2.[A34:C48].Value
ReDim TRés(1 To UBound(TDon, 1) * 2, 1 To 3)
For L = 1 To UBound(TDon, 1)
    SC = Split(TDon(L, 3), "-")
    TRés(2 * L - 1, 1) = TDon(L, 1): TRés(2 * L - 1, 2) = SC(0) * 1: TRés(2 * L - 1, 3) = SC(0) * 1 - SC(1) * 1
    TRés(2 * L, 1) = TDon(L, 2): TRés(2 * L, 2) = SC(1) * 1: TRés(2 * L, 3) = SC(1) * 1 - SC(0) * 1
Next L
Feuil3.[A5:C34].Value = TRés
End Sub

Merci de ton retour

lehcim

XLDnaute Nouveau
Je viens de tester, c'est super à 99.99% (LOL) ; par contre il y a des erreurs dans les différences de points (lignes 17 - 18 - 19 -20 - 25 -26 - 31 - 32) feuillet "Récap"
J'abuse encore ...
 

Phil69970

XLDnaute Barbatruc
@lehcim

Ceci devrait mieux fonctionner ....
Dans un module
VB:
Sub Test()
Dim TDon(), TRés(), L&, SC() As String
TDon = Sheet2.[A34:C48].Value
ReDim TRés(1 To UBound(TDon, 1) * 2, 1 To 3)
For L = 1 To UBound(TDon, 1)
    SC = Split(TDon(L, 3), "-")
    TRés(2 * L - 1, 1) = TDon(L, 1): TRés(2 * L - 1, 2) = SC(0) * 1: TRés(2 * L - 1, 3) = SC(0) * 1 - SC(1) * 1
    TRés(2 * L, 1) = TDon(L, 2): TRés(2 * L, 2) = SC(1) * 1: TRés(2 * L, 3) = SC(1) * 1 - SC(0) * 1
Next L
Feuil3.[A5:C34].Value = TRés
End Sub

Merci de ton retour
 

lehcim

XLDnaute Nouveau
Bonjour,
J'ai utilisé ta macro pour mon tournoi d'hier que j'avais dupliquée et adaptée aux 5 tours. J'ai gagné du temps car elle a été efficace. Je voudrais l'utiliser ultérieurement pour d'autres programmes mais je n'arrive pas à comprendre les noms des feuillets "sheet2" et "feuil3" qui ne correspondent pas à ceux de mon fichier (post #14) qui se nomment "Rencontres" et "Récap".
Si c'est compliqué à expliquer tu laisses car c'est déjà bien de m'avoir fait avancer.

Bien cordialement
 

Phil69970

XLDnaute Barbatruc
Re

@lehcim

mais je n'arrive pas à comprendre les noms des feuillets "sheet2" et "feuil3" qui ne correspondent pas à ceux de mon fichier (post #14) qui se nomment "Rencontres" et "Récap".

Tu confonds le Name de la feuille et le codename de la feuille

Feuil3 ou sheet2 fait référence au codename de la feuille

Codename de la feuille c'est le nom interne de la feuille accessible et modifiable uniquement par VBA



Name de la feuille c'est le nom de la feuille (onglet) modifiable par l'utilisateur et/ou VBA



Donc par le code on peut faire référence au name ou au codename de la feuille
 

Discussions similaires

Réponses
4
Affichages
530
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…