[ Résolu ] Un transfert de plages vers d'autres plages impossible..????

Guido

XLDnaute Accro
Bonjours le Forum

Je reviens vers Vous Tous,

J'aimerais transférer le contenu des plages dans la pages suivantes et dans les plages

biens définies...

Voir le petit fichier

Merci

Guido
 

Pièces jointes

  • TRANSFERER_LES_BASES.xls
    348 KB · Affichages: 40

job75

XLDnaute Barbatruc
Bonsoir Guido, JBARBE, ChTi160,

Dans ces problèmes de transfert le plus simple est d'établir une correspondance entre les plages sources et les plages de destination (on peut alors les adapter comme on veut) :
Code:
Sub Transfert()
Dim Fs As Worksheet, Fd As Worksheet, Ps, Pd, i&, j%, c As Range, lig As Variant, k%
Set Fs = Sheets("PRONO_DE_Base") 'feuille source, à adapter
Set Fd = Sheets("PRONO_NET") 'feuille de destination, à adapter
Ps = Array("A7", "R9", "R11:X12") 'adresses des plages sources, à adapter
Pd = Array("A7", "D9", "D11:J12") 'adresses des plages de destination, à adapter
For i = 1 To 271 Step 30
  For j = 1 To 79 Step 13
    Set c = Fd.Cells(i, j)
    lig = Application.Match(Trim(c) & " *", Fs.Columns(1), 0)
    For k = 0 To UBound(Ps)
      If IsError(lig) Then c.Range(Pd(k)) = "" Else c.Range(Pd(k)) = Fs.Cells(lig, 1).Range(Ps(k)).Value
Next k, j, i
Fd.Activate 'facultatif
End Sub
Fichier joint.

A+
 

Pièces jointes

  • TRANSFERER_LES_BASES(1).xls
    406.5 KB · Affichages: 52
Dernière édition:

Guido

XLDnaute Accro
Re
je pense que le fil est clot ,
mais je n'ai pas compris le Principe de ce "Classement avec doublon"
je vais tenter de comprendre en repartant du début Lol(je vais chercher le Fil)
Bonne fin de journée
Amicalement
Jean marie

Re

Jean Marie

Voici le fichier plus important avec plus d'onglets,

Donc voici l'équivalant de ma demande en tableaux

Je n'ai pas réussis a l'adapter sur la page PRONO NET. Sinon toutes les

cellule deviennent #Nombres...,et je sais plus aller de l'avant.

JBARBE

Pour ce qui concerne les fichiers concernant le Turf tu est celui qui a eu le plus de patience avec Moi,

les autres ont jeté l'éponge car je ne savais pas m'expliqué dans mes demandes...

C'est mon handicap, mais bon...

J'ai peut être d'autres qualités ???lol

A Plus

Guido
 

Pièces jointes

  • Impossible classement.__2017.xls
    639.5 KB · Affichages: 51

Guido

XLDnaute Accro
Re

Alors Ca ??surprise, bonne surprise Job75

Salut Job75

Merci pour ta proposition.

Je regarde est te dis

Entre temps je viens de poster avec des précisions pour l'obtention du classement final

selon les critères et possibilités d'affichage ou les deux onglet possibles .??

Job, svp pour insérer une macros avec option explicite y as t'il un boutons raccourci..,SVP,Merci

a plus

Guido
 

job75

XLDnaute Barbatruc
Re,
(on peut alors les adapter comme on veut)
Si par exemple on veut renseigner aussi les cellules D8 et D13:J13 on utilisera :
Code:
Sub Transfert()
Dim Fs As Worksheet, Fd As Worksheet, Ps, Pd, i&, j%, c As Range, lig As Variant, k%
Set Fs = Sheets("PRONO_DE_Base") 'feuille source, à adapter
Set Fd = Sheets("PRONO_NET") 'feuille de destination, à adapter
Ps = Array("A7", "R8:R9", "R11:X13") 'adresses des plages sources, à adapter
Pd = Array("A7", "D8:D9", "D11:J13") 'adresses des plages de destination, à adapter
For i = 1 To 271 Step 30
  For j = 1 To 79 Step 13
    Set c = Fd.Cells(i, j)
    lig = Application.Match(Trim(c) & " *", Fs.Columns(1), 0)
    For k = 0 To UBound(Ps)
      If IsError(lig) Then c.Range(Pd(k)) = "" Else c.Range(Pd(k)) = Fs.Cells(lig, 1).Range(Ps(k)).Value
Next k, j, i
Fd.Activate 'facultatif
End Sub
On formatera ces nouvelles cellules comme on veut.

Fichier (2).

Bonne fin de soirée.
 

Pièces jointes

  • TRANSFERER_LES_BASES(2).xls
    407 KB · Affichages: 30
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Aux posts #18 et #21 j'ai remplacé lig = Application.Match(c & "*", Fs.Columns(1), 0)

par lig = Application.Match(Trim(c) & " *", Fs.Columns(1), 0)

En effet si dans la feuille source la course R.x-C.1 est placée après R.x-C.10 c'est cette dernière qui aurait été prise en compte à la place de la première.

A noter que dans la feuille destination il y a un espace superflu après R.1-C.1, c'est pour ça que j'utilise Trim.

Bonne nuit.
 

ChTi160

XLDnaute Barbatruc
Bonjour Guido
Bonjour Le Fil ,Le Forum
(un coucou particulier à Job75)
une approche de ce que j'ai cru comprendre Lol
Question : peut il y avoir dans la feuille "PRONO_DE_BASE" des erreur du genre le Gagnant n'est pas dans la Liste des arrivées "ex en R9 il y a 14 et pas dans la plage Q12:X12
ou l'indication du nombre de partants en A7 , sans indication de Course en A1 etc etc
ou est ce une erreur de mise en forme lors de la mise sur le Forum ?
la procédure a été mise dans la méthode :

VB:
Private Sub Worksheet_Activate()
Initialise_Reunions
End Sub
pourrais tu m'expliquer comment ce passe la démarche ?
tu récupères en "PRONO_DE_BASE" ex : en Q12:X12 les pronostics , puis ensuite tu mets toi le Gagnant ?
Essai de m'expliquer , merci para avance
Tu testes et tu me dis , si j'ai compris Lol
Bonne journée
Amicalement
Jean marie
 

Pièces jointes

  • TRANSFERER_LES_BASES Chti160-2.xlsm
    252.4 KB · Affichages: 26

Guido

XLDnaute Accro
Bonjour Guido
Bonjour Le Fil ,Le Forum
(un coucou particulier à Job75)
une approche de ce que j'ai cru comprendre Lol
Question : peut il y avoir dans la feuille "PRONO_DE_BASE" des erreur du genre le Gagnant n'est pas dans la Liste des arrivées "ex en R9 il y a 14 et pas dans la plage Q12:X12
ou l'indication du nombre de partants en A7 , sans indication de Course en A1 etc etc
ou est ce une erreur de mise en forme lors de la mise sur le Forum ?
la procédure a été mise dans la méthode :

VB:
Private Sub Worksheet_Activate()
Initialise_Reunions
End Sub
pourrais tu m'expliquer comment ce passe la démarche ?
tu récupères en "PRONO_DE_BASE" ex : en Q12:X12 les pronostics , puis ensuite tu mets toi le Gagnant ?
Essai de m'expliquer , merci para avance
Tu testes et tu me dis , si j'ai compris Lol
Bonne journée
Amicalement
Jean marie

Re

Si R9 contient 14 ou autres mais pas son doublons dans la plage Q12:X12

le classement ne change pas.

Le n° Ggt se met avec le transfert

Merci pour tout

Guido
 

job75

XLDnaute Barbatruc
Bonjour Guido, le forum,

Si maintenant on veut le gagnant en tête de la ligne TTG utiliser le couper-insérer :
Code:
Sub Transfert()
Dim Fs As Worksheet, Fd As Worksheet, Ps, Pd, i&, j%, c As Range, lig As Variant, k%, g
Set Fs = Sheets("PRONO_DE_Base") 'feuille source, à adapter
Set Fd = Sheets("PRONO_NET") 'feuille de destination, à adapter
Ps = Array("A7", "R9", "R11:X12") 'adresses des plages sources, à adapter
Pd = Array("A7", "D9", "D11:J12") 'adresses des plages de destination, à adapter
Application.ScreenUpdating = False
For i = 1 To 271 Step 30
  For j = 1 To 79 Step 13
    Set c = Fd.Cells(i, j)
    lig = Application.Match(Trim(c) & " *", Fs.Columns(1), 0)
    For k = 0 To UBound(Ps)
      If IsError(lig) Then c.Range(Pd(k)) = "" Else c.Range(Pd(k)) = Fs.Cells(lig, 1).Range(Ps(k)).Value
    Next k
    '---gagnant en tête de la ligne TTG---
    g = c.Range(Pd(1)) 'gagnant
    With c.Range(Pd(2)).Rows(2)
      If g <> "" And g <> .Cells(1) Then
        For k = 2 To .Columns.Count
          If .Cells(k) = g Then .Cells(k).Cut: .Cells(1).Insert: Exit For 'couper-insérer
        Next k
      End If
    End With
Next j, i
Fd.Activate 'facultatif
End Sub
Edit : boucle raccourcie For k = 2 To .Columns.Count

Fichiers (1 bis) et (2 bis).

A+
 

Pièces jointes

  • TRANSFERER_LES_BASES(1 bis).xls
    408.5 KB · Affichages: 25
  • TRANSFERER_LES_BASES(2 bis).xls
    408.5 KB · Affichages: 32
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 210
Membres
103 158
dernier inscrit
laufin