Creer tableau avec 2 feuilles excel

HOUDELET

XLDnaute Nouveau
Bonjour

Je suis Educateur dans un club de foot pour les enfant moins de 9 ans.

J'ai la feuille 1 avec 50 noms et prénons des joueurs, j'y incrit chaque match qu'ils jouent et je m'en sert pour préparer les convocations que je distribut chaque mercredi à 37 enfants, je note les absents,

colonne B le NOM
colonne C le PRENOM
Colonne D J'y inscrit un numéro pouvant aller de 1 a 5 ce qui correspond à l'équipe avec le quel il va jouer.
Ex:
DURANT Michel 1
MACHIN Paul 2
Truc Louis
Bidule Marcel 3
NUCHE Henri 4
Digue Serge 5

sur la feuille 2
j'ai un tableau avec les 5 equipes et les nom des enfants qui vont jouer.
Equipe 1 Equipe 2 Equipe 3 Equipe 4 Equipe 5
Nom| Prénon Nom | Prénom Nom | Prénom Nom | Prénom Nom | Prénom
Se que je souhaite, s"est quant je note 1 devant un nom de joueur de la feuille 1, que se nom soit inscrit dans la feuille 2 dans la colonne de l'equipe correspondante.
Je joints une feuille Excel pour que se soit plus explicite.

J'espere avoir été claire.
En vous remerciant à l'avance.
Bonne Journée.

Bernard
 

Pièces jointes

  • Aide.xlsx
    12.2 KB · Affichages: 79

Paf

XLDnaute Barbatruc
bonjour,

un essai par macro évènementielle:

à chaque saisie du N° d'équipe en colonne C, le nom et le prénom sont copiés dans la colonne correspondant à l'équipe, dans le tableau H2:Q10 de la feuille Feuil1 (structure du classeur joint). Il faudrait avoir la structure exacte du classeur réel, pour copier les Noms, Prénoms dans les bonnes colonnes de la feuille 2.

Code à copier dans la feuille de code de la feuille Feuil1 :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer, Ligne As Integer, DerL As Integer

DerL = Range("A" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("C3:C" & DerL)) Is Nothing Then
    If Target.Value > 0 And Target.Value < 6 Then
        If Target.Offset(, -2) = "" Or Target.Offset(, -1) = "" Then
            Target.Value = ""
            Exit Sub
        End If
        Col = 6 + (Target * 2)
        Ligne = Cells(Cells.Rows.Count, Col).End(xlUp).Row + 1
        Cells(Ligne, Col) = Target.Offset(, -2)
        Cells(Ligne, Col + 1) = Target.Offset(, -1)
    Else
        Target.Value = ""
    End If
End If
End Sub

une macro, à copier dans un module standard, pour effacer le tableau d'affectation par équipe ( à adapter à la structure réelle):
VB:
Sub RaZ()
Dim NbL As Integer
With Worksheets("Feuil1")
NbL = .Range("H2").CurrentRegion.Rows.Count
If NbL > 2 Then .Range("H4:Q" & NbL + 1).ClearContents
End With
End Sub

A+
 

HOUDELET

XLDnaute Nouveau
bonjour,

un essai par macro évènementielle:

à chaque saisie du N° d'équipe en colonne C, le nom et le prénom sont copiés dans la colonne correspondant à l'équipe, dans le tableau H2:Q10 de la feuille Feuil1 (structure du classeur joint). Il faudrait avoir la structure exacte du classeur réel, pour copier les Noms, Prénoms dans les bonnes colonnes de la feuille 2.

Code à copier dans la feuille de code de la feuille Feuil1 :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer, Ligne As Integer, DerL As Integer

DerL = Range("A" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("C3:C" & DerL)) Is Nothing Then
    If Target.Value > 0 And Target.Value < 6 Then
        If Target.Offset(, -2) = "" Or Target.Offset(, -1) = "" Then
            Target.Value = ""
            Exit Sub
        End If
        Col = 6 + (Target * 2)
        Ligne = Cells(Cells.Rows.Count, Col).End(xlUp).Row + 1
        Cells(Ligne, Col) = Target.Offset(, -2)
        Cells(Ligne, Col + 1) = Target.Offset(, -1)
    Else
        Target.Value = ""
    End If
End If
End Sub

une macro, à copier dans un module standard, pour effacer le tableau d'affectation par équipe ( à adapter à la structure réelle):
VB:
Sub RaZ()
Dim NbL As Integer
With Worksheets("Feuil1")
NbL = .Range("H2").CurrentRegion.Rows.Count
If NbL > 2 Then .Range("H4:Q" & NbL + 1).ClearContents
End With
End Sub

A+

Bonsoir et Merci à Paf.

Je viens de lire en long en large de haut en bas, pour moi c'est du chinoi.
Si vous le voulais je vous envois le fichier .
Envoyez moi une adresse et je vous donne ce fichier.
Bonne soirée

Bernard
 

Paf

XLDnaute Barbatruc
re,

vous pouvez mettre une copie de votre fichier originale, en l'anonymisant . Pas la peine d'envoyer l'ensemble des données .

Dans le cas présent ce qui est important c'est de voir dans quelles cellules est le tableau nominatif et dans quelles cellules de quelle feuille copier les données.

A+
 

HOUDELET

XLDnaute Nouveau
re,

vous pouvez mettre une copie de votre fichier originale, en l'anonymisant . Pas la peine d'envoyer l'ensemble des données .

Dans le cas présent ce qui est important c'est de voir dans quelles cellules est le tableau nominatif et dans quelles cellules de quelle feuille copier les données.

A+
Bonjour PAF

Merci pour votre aide
J'ai mis une copie du fichier utilisé en le rendant anonyme.
sur la feuille 1 la liste de tous mes petit futur Messi, sur la feuille 2 le tableau ou je voudrais que les joueurs selectionnés soit inscrit.
Encore merci et bonne journée.
Bernard
 

Pièces jointes

  • Pour PAF.xlsx
    47.2 KB · Affichages: 73

Paf

XLDnaute Barbatruc
Re,

le classeur en retour avec adaptation du code, au format xls (Excel 2003)

la macro d'effacement efface (! c'est mieux) le tableau en feuille Equipe pour plateau ainsi que la plage F8:F56 de la feuille Liste de joueur

J'ai dû supprimer la colonne G, dont les cellules étaient fusionnées avec celles de la colonne F, qui posait problème pour le code.Sans conséquence pour les formules en place dans la feuille Liste de joueur (a priori).

A+

Edit : la macro d'effacement est 'lançable' par la combinaison de touches: <Ctrl> et <A>
 

Pièces jointes

  • HOUDELET.xls
    112.5 KB · Affichages: 90

HOUDELET

XLDnaute Nouveau
Re,

le classeur en retour avec adaptation du code, au format xls (Excel 2003)

la macro d'effacement efface (! c'est mieux) le tableau en feuille Equipe pour plateau ainsi que la plage F8:F56 de la feuille Liste de joueur

J'ai dû supprimer la colonne G, dont les cellules étaient fusionnées avec celles de la colonne F, qui posait problème pour le code.Sans conséquence pour les formules en place dans la feuille Liste de joueur (a priori).

A+

Edit : la macro d'effacement est 'lançable' par la combinaison de touches: <Ctrl> et <A>

Bonsoir.
Mille Merci.
c'est exatement ce que je voulai, encore bravo.
J'ai fais des copies de sauvegarde car je vais essayé de bidouiller la macro pour une autre utilisation.
Juste une question: si je veux changer la disposition des colone dans la feuille equipe pour plateau, car je voudrai l'utiliser pour former mes groupes pour l'entrainement et ajouter une case Absent.

Merci, merci et merci

A bientot.

Bernard
 
Dernière édition:

Paf

XLDnaute Barbatruc
re,

si je veux changer la disposition des colone dans la feuille equipe pour plateau

Il faudra alors adapter cette ligne de code :
VB:
  Col = (Target * 2)


Cette ligne détermine le N° de colonne où l'on va écrire le nom => valeur saisie * 2 (ainsi pour équipe 1 on écrit en 2, pour 2 en 4 ...) puisque l'équipe 1 commence en colonne B (2) , l'équipe 2 en colonne D (4) ....

Si le tableau ne commence par en B il faudra adapter ; par exemple si le tableau commence en colonne C ( 3), on devra écrire l'équipe 1 en C (3) l'équipe 2 en D (5). on écrirait alors Col = 1 + (Target * 2).

Si la colonne des absents est en fin de tableau ( position qu'aurait occupée l'équipe 6), on pourrait saisir 6 dans la colonne F de la feuille Liste de joueur, et modifier la ligne
VB:
If Target.Value > 0 And Target.Value < 6 Then
en
VB:
If Target.Value > 0 And Target.Value < = 6 Then

et pour afficher "Abs" en colonne F, juste après

VB:
End With
rajouter:
VB:
If Target.Value = 6 Then
  Application.EnableEvents = False
  Target = "Abs"
  Application.EnableEvents = True
End If

A+
 

HOUDELET

XLDnaute Nouveau
Bonjour.
Merci Paf, c'est vraiment genial de trouver des personnes qui consacrent un peu de temps pour aider.
J'espere un jour pouvoir en faire autant.
Je vais essayer ce que vous m'avez donner et je vous tiens au courent.

A bientôt et encore merci.

Bernard
 

Discussions similaires

Réponses
8
Affichages
537

Statistiques des forums

Discussions
313 100
Messages
2 095 257
Membres
106 237
dernier inscrit
JDT-SG