Récupérer des entrées dans une liste pour créer des équipes de 3
Fermé
Lili
-
3 janv. 2015 à 00:39
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 6 janv. 2015 à 13:32
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 6 janv. 2015 à 13:32
A voir également:
- Récupérer des entrées dans une liste pour créer des équipes de 3
- Créer une liste déroulante excel - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Recuperer video youtube - Guide
4 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
3 janv. 2015 à 01:12
3 janv. 2015 à 01:12
Bonsoir Lili, bonsoir le forum,
Pas vraiment compris... On pourrait couper aléatoirement trois nom de l'onglet Feuil1 et les coller dans l'onglet Feuil2. Puis recommencer, couper 3 noms aléatoirement de Feuil1 et les coller dans l'onglet Feuil3, etc.
C'est ça que tu voudrais ?
Pas vraiment compris... On pourrait couper aléatoirement trois nom de l'onglet Feuil1 et les coller dans l'onglet Feuil2. Puis recommencer, couper 3 noms aléatoirement de Feuil1 et les coller dans l'onglet Feuil3, etc.
C'est ça que tu voudrais ?
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
Modifié par ccm81 le 3/01/2015 à 10:53
Modifié par ccm81 le 3/01/2015 à 10:53
Bonjour à tous
Un essai (sans VBA)
https://www.cjoint.com/?3Adla1VJ0nj
Cdlmnt
Un essai (sans VBA)
https://www.cjoint.com/?3Adla1VJ0nj
Cdlmnt
Lili31h
Messages postés
4
Date d'inscription
samedi 3 janvier 2015
Statut
Membre
Dernière intervention
6 janvier 2015
3 janv. 2015 à 15:57
3 janv. 2015 à 15:57
C'est exactement ce que je veux mais il m'est imposé de le faire avec VBA.
Et donc c'est beaucoup plus compliqué pour moi...
Merci pour ta réponse
Et donc c'est beaucoup plus compliqué pour moi...
Merci pour ta réponse
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
3 janv. 2015 à 18:18
3 janv. 2015 à 18:18
C'est un peu le même principe, un exemple
https://www.cjoint.com/?3AdszDmeevX
RQ. donner la taille des équipes en D1
Cdlmnt
https://www.cjoint.com/?3AdszDmeevX
RQ. donner la taille des équipes en D1
Cdlmnt
Lili31h
Messages postés
4
Date d'inscription
samedi 3 janvier 2015
Statut
Membre
Dernière intervention
6 janvier 2015
6 janv. 2015 à 01:37
6 janv. 2015 à 01:37
Merci à toi. Tu me sors une épine du pied.
Cordialement
Cordialement
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
6 janv. 2015 à 13:32
6 janv. 2015 à 13:32
De rien,
Peux tu mettre le sujet à Résolu (en haut à droite de ton premier message)
Bon après midi
Peux tu mettre le sujet à Résolu (en haut à droite de ton premier message)
Bon après midi
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
3 janv. 2015 à 22:18
3 janv. 2015 à 22:18
Bonsoir le fil, bonsoir le forum,
Lili, en pièce jointe une autre proposition avec le code commenté ci-dessous :
Le fichier :
https://www.cjoint.com/c/EAdwyVqgRuA
Lili, en pièce jointe une autre proposition avec le code commenté ci-dessous :
Sub Macro1() Dim O As Object 'déclare la variable O (Onglet) Dim OS As Object 'déclare la variable OS (Onglet Source) Dim NL As Byte 'déclare la variable NL (Nombre de Lignes) Dim LI As Byte 'déclare la variable LI (LIgne) Dim NE As Byte 'déclare la variable NE (Numéro de l'Équipe) Dim NB As Byte 'déclare la variable NB (NomBre de joueurs) Dim OD As Object 'déclare la variable OD (Onglet Destination) Application.ScreenUpdating = False 'masque les rafraîchissements d'écran '**************************** 'efface les anciennes équipes '**************************** Application.DisplayAlerts = False 'masque les messages d'Excel For Each O In Sheets 'boucle sur tous les onglets du classeur If Not O.Name = "Feuil1" Then O.Delete 'si le nom du classeur est différent de "Feuil1", efface l'onglet Next O 'prochain onglets de la liste Application.DisplayAlerts = True 'affiche les messages d'Excel '******************** 'création des équipes '******************** Set OS = Sheets("Feuil1") 'définit l'onglet OS NE = 1 'initialise le numéro d'équipe NE NL = OS.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit le nombre de lignes éditées NL dans la colonne 1 (=A) de l'onglet OS Do Until NL < 4 'éxécute jusqu'à ce que NL soit inférieur à 4 If NB = 0 Then 'condition : si le nombre NB est égal à zéro Sheets.Add after:=Sheets(Sheets.Count) 'ajoute un onglet en dernière position ActiveSheet.Name = "Équipe " & NE 'renomme l'onglet avec le numéro de l'équipe NE Set OD = ActiveSheet 'définit l'onglet OD End If 'fin de la condition Randomize 'lance le générateur de nombre aléatoires LI = Int((NL - 1) * Rnd + 2) 'génère une nombre aléatoire LI entre 2 et DL 'copie la cellule ligne LI, colonne 1 (=A) de l'onglet OS dans la cellule ligne NB+1, colonne 1 (=A) de l'onglet OD OS.Cells(LI, 1).Copy OD.Cells(NB + 1, 1) OS.Cells(LI, 1).Delete xlShiftUp 'supprime la cellule copiée en décalant vers le haut 'incrémente le nombre NB, mais quand NB vaut trois alors, NB vaut zéro et NE vaut NE+1 NB = NB + 1: If NB = 3 Then NB = 0: NE = NE + 1 NL = NL - 1 'décrémente le nombre de lignes NL Loop 'boucle OS.Select 'sélectionne l'onglet OS Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran End Sub
Le fichier :
https://www.cjoint.com/c/EAdwyVqgRuA
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
3 janv. 2015 à 23:26
3 janv. 2015 à 23:26
Il y a une erreur dans le code à la ligne 29. Il faut la remplacer par :
Do Until NB = 0 And NL < 4 'éxécute jusqu'à ce que NB soit nul et NL soit inférieur à 4
3 janv. 2015 à 15:45
3 janv. 2015 à 15:56
Merci