Réaliser un tableau excel avec incrémentation

Hyriu29

XLDnaute Junior
Bonjour,
Je suis nouveau sur votre forum, j'utilise excel pour réaliser des tableaux relativement simples comprenant parfois des fonctions imbriquées.
Mon problème:
Je veux réaliser un Tableau dans le cadre d'une Exposition d'objets;

- il y a "x" inscrits participants (colonne A)
- chaque artiste expose des objets (de 01 à 12 objets par exposant) (colonne B)
- les objets sont accrochés sur des panneaux numérotés (de 01 à 100)
- les objets mis sur le panneau 01, auront les numéros 01-02-03 (parce que le nombre d'objets est 3 et qu'ils sont sur le panneau n°1)
- sur le panneau 02, 3 objets exposés également, donc les numéros seront 04-05-06
- sur le panneau 03, 2 objets seulement, donc les numéros qui suivent doivent être 07-08
et ainsi de suite.
Je souhaite donc une incrémentation automatique des numéros attribués aux objets, dans l'ordre des n° de panneaux (panneau 1 à 100)
Merci de votre aide, pièce jointe
Hyriu29
Regarde la pièce jointe Tableau des Exposants.xlsRegarde la pièce jointe Tableau des Exposants.xls
 

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

Bien reçu Tableau V12, merci pour tout ce travail

J’ai fait quelques tests :
-ajout de quelques noms dans la feuille Liste de Photographes : OK
-ajout des quelques photographes (par copier/coller) dans la liste des inscrits + nb de photos : OK
Remarque, quand ajoute des noms, les colonnes de D8 à S8 n’affichent pas la même couleur de remplissage que les lignes précédentes (est-ce une macro qui affiche par défaut le vert et le jaune ?)
Je souhaite conserver le modèle des lignes précédentes.

- Feuille Classement votes photos : Non ça ne marche pas,
si on clic sur MajtabClassement, les formules en colonne D sont effacées à partir de D3 (feuille classement votes Photos). Peut-on choisir la couleur de remplissage ?

- Feuille Saisie des votes : OK mais la couleur de remplissage est-elle guidée par une macro ? Puis-je la modifier ?

Par ailleurs, je pense que peux déplacer de quelques colonnes le bouton Maj TabClassement (clic droit) sans conséquence sur le fonctionnement ?

Dernière question : Comment se fait la remise à zéro de la saisie des votes ? Tout simplement en sélectionnant les colonnes A et B et en faisant Suppression ?
Excellente idée de compter le nb de votants. !!!
Pour ma culture personnelle, combien de macros sont utilisées dans ce fichier ?
Comment y accéder pour voir la syntaxe (avec toutes les précautions, avec une copie par ex.)
Cordialement,
Hyriu29
 

Pièces jointes

  • Tableau des Exposants_V12modifie.xls
    189.5 KB · Affichages: 30
Dernière modification par un modérateur:

vgendron

XLDnaute Barbatruc
Re : Réaliser un tableau excel avec incrémentation

pour les couleurs, et bien en fait. je pensais que c'est toi qui avais mis une MFC..
je viens de vérifier. il n'y en a pas. et aucune macro ne modifie les couleurs.. ca doit etre Excel lui meme..
Comme en plus. nous n'avons pas la meme version d'excel.. la gestion des couleurs est peut etre différente..
donc la.. je vois pas d'autre solution simple que d'utiliser le pinceau Excel pour reproduire la mise en forme.



sur Excel 2007: il existe des styles prédéfinis de tables: j'en ai choisi un au hasard.. tu peux certaineemnt faire ton propre choix de couleur je pense

Pour le bouton "Maj TabClassement", tu peux effectivement le déplacer où tu veux: aucun impact sur la macro

pour faire un RAZ: effectivement, il suffit de supprimer les lignes du tableau

et pour les macro.. gros oubli de ma part. j'étais persuadé que tu allais voir les macro et que tu connaissais déjà..
donc à la question connais tu VBA.. la réponse est visiblement non ;-)

pour ouvrir l'éditeur de macro: Alt+F11
dans l'explorateur du projet à gauche tu vois la liste des feuilles ainsi qu'un Module1 et le "ThisWorkbook"
double clic sur Feuil3 pour ouvrir le code (à droite)
la macro qui s'appelle Private Sub Worksheet_Activate()
est une macro évènementielle..qui comme son nom l'indique se lance lorsque la feuille est activée
ca lance alors le "MajClassement"
qui est une macro définie dans le Module1

Dans ce module tu peux y voir 3 macros
Sub MajTabClassement()
Sub MajClassement()
Sub ValiderVote()


pour lancer une macro en mode pas à pas: touche F8
ca te permet de suivre ligne par ligne ce que fait le code.
très pratique pour débeuguer un programme.

du coup, je te remet le fichier avec des commentaires que j'ai mis pour expliquer à peu près toutes les lignes de code
 

Pièces jointes

  • Tableau des Exposants_V11 (1).xls
    182 KB · Affichages: 37

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

Hello,
Excuse moi, mais je viens à l'instant de modifier mon message qui contenait le fichier v11 sur lequel j'ai fait mes tests.
En fait ce n'était pas ta dernière version, tu m'as envoyé après la v12, voir ton post.
Donc j'ai refait les tests sur la version v12 et je t'ai mis le fichier modifié avec mon message précédent (Tableau des Exposants_v12 modifié).
Les commentaires sont les mêmes SAUF:
- Feuille Classement votes photos : Non ça ne marche pas,
si on clic sur MajtabClassement, les formules en colonne D sont effacées à partir de D3 (feuille classement votes Photos).
Mille excuses pour faute d'inattention.
Hyriu29
 

vgendron

XLDnaute Barbatruc
Re : Réaliser un tableau excel avec incrémentation

dans cette V13

je pense avoir le réglé le problème des couleurs jaune et verte:
il s'agissait d'un conflit entre les couleurs de la table. et une mise en forme sur les cellules (que j'ai replacé à "transparente")
pour la formule
j'avais bien noté un problème sur la colonne D.. mais dans la table TabInscrit:
à savoir, quand on rajouttait un photographe, et son nombre d'objet la formule en colonne D n'était pas recopiée: Corrigé !
par contre. quand je clique sur le bouton MajTabClassement, tout fonctionne bien.. meme sur le dernier fichier que tu as renvoyé..

et j'ai remis tous les commentaires dans les macro (Alt +F11 pour ouvrir l'éditeur)
 

Pièces jointes

  • Tableau des Exposants_V13.xls
    181.5 KB · Affichages: 39

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

hello,
Quand j'enregistre le fichier, voici le message:

Certaines formules contiennent des références à des tableaux que le format de fichier sélectionné ne prend pas en charge.
Ces références seront converties en références de cellules
Emplacement : « Classement Votes Photos »
C'est peut- être pour cela que le bouton MajTab ne fonctionne pas et supprime les formules à partir de D3
Quand j'enregistre le fichier je choisis "Classeur Excel 97-2003"
Faut-il faire un autre choix?
Hyriu29
 

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

Voici quelques infos complémentaires:
La licence Microsoft : Microsoft Office Famille et Etudiant 2007 :
Word 2007/Excel 2007/PowerPoint2007/OneNote2007

Quand j’enregistre mon fichier, je peux enregistrer au format :
Classeur Excel
Classeur Excel prenant en charge les macros (format xml)
Classeur binaire Excel
Classeur Excel 97-2003…
Feuille de calcul Open document
PDF ou XPS
Autres formats (dans la liste il n’y a pas Excel 2007)
Hyriu29
 

vgendron

XLDnaute Barbatruc
Re : Réaliser un tableau excel avec incrémentation

il faut prendre le deuxième type qui apparait dans la liste (fichier enregistrer sous)
format .xlsm
format excel 2007 qui prend en charge les macros

le voici au bon format
 

Pièces jointes

  • Tableau des Exposants_V13.xlsm
    66.7 KB · Affichages: 55

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

sans rien modifier au fichier v13.xlsm, quand je clique sur le bouton MajTabClassement, ça ne fonctionne toujours pas (les formules sont effacées )
Remarque qui à mon avis n'explique pas le pb: quand j'ouvre le fichier je dois activer les macros (avertissement de sécurité)
 

vgendron

XLDnaute Barbatruc
Re : Réaliser un tableau excel avec incrémentation

euh. je ne comprend pas bien le problème

1) oui effectivement, à l'ouverture du fichier, il faut activer les macros, sinon, ca marche pas
pour l'empecher de demander à chaque fois. il faut aller dans les options excel de sécurité

2) avec la version V13: quand tu cliques sur le bouton Maj TabClassement qui est dans la feuille "Liste des Inscrits"
ca lance bien la macro qui créé le tableau "TabClassement" dans la feuille "Classement Votes Photos"
et la colonne D ne contient que des 0: résultat de la formule "SI(ESTNUM(C2);SOMME.SI(TabVotes[N° des Photos];C2;TabVotes[Nb de Points]);"")

la. c'est normal puisque il n'y a aucun vote

donc. je ne vois pas où "la formule est effacée".. ???!!??
 

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

Quand je reçois le fichier, effectivement dans la feuille Classement Votes Photos:
les cellules D2 à la dernière (D52) sont à 0 chacune.
Chaque cellule contient une formule
Si je clic sur le bouton MajTab, le classement se fait bien:
- D2 affiche toujours 0
- D3 et les suivantes n'affichent rien (les formules de ces cellules ont été supprimées)
 

vgendron

XLDnaute Barbatruc
Re : Réaliser un tableau excel avec incrémentation

la j'avoue que ca dépasse ma compréhension et mes compétences..
j'ai beau cliquer cliquer et recliquer sur ce bouton, à chaque fois, la formule est bien recopiée juqu'en bas
d'ailleurs une précision: ce bouton ne sert pas à CLASSER le tableau. juste à le créer avec tous les objets..
cest pour ca que quand il n'y a aucun vote (le cas dans la V13 tel que reçu), tous les objets sont dansn l'ordre de 1 à 51

effectue un vote avec les objets 10 9 et 8 et reviens sur la feuille.. c'est seulement LA que le classement va se faire..
 

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

A partir du fichier reçu v13
ce qui fonctionne
-sans y apporter de modifications (pas d'ajout d'inscrits supplémentaires:donc pas d'utilisation du bouton TabMaj)
dans la feuille Saisie des votes: je saisi 3 numéros (10,9,8) et valide : le classement se fait bien
ce qui ne fonctionne pas:
a partir du v13, je me mets dans le cas ou mes listes ne sont pas encore complètes, donc j'ajoute des noms dans la liste des inscrits au fur et à mesure des inscriptions, puis je clic sur le bouton TabMaj,
Toutes les cellules de la colonne D ont perdu le chiffre zéro sauf la première cellule (fichier v13(1) joint)

CE SOIR (19h30)
je suis allé chez mon voisin (il a Excel 2013) avec mon fichier v13 : eh bien là ça fonctionne correctement.
Que peut-on faire?
Hyriu29
 

Pièces jointes

  • Tableau des Exposants_V13 (3).xlsm
    68.3 KB · Affichages: 38
Dernière modification par un modérateur:

vgendron

XLDnaute Barbatruc
Re : Réaliser un tableau excel avec incrémentation

Re,

étonnant. si ca marche sur du Excel 2013 de ton voisin, et le 2007 de chez moi. ca devrait aussi fonctionner avec ton 2007..
peut etre une référence, un module non activé chez toi? par exemple. as tu l'onglet "développeur" dans le ruban excel ??
si non:
cliquer sur le logo excel (en haut à gauche) - Options Excel - Compléments - "Gerer Compléements Excel - Atteindre... -
cocher tout: notamment Analysis Toolpak-VBA puis OK

sinon, dernière tentative pour le fichier (parce qu'après. je suis à sec..)

en rajouttant une ligne de code pour "forcer" la recopie de la formule
avant derniere ligne de ce code:
Code:
'Cette ligne "force" la recopie de la formule..        
Range("TabClassement[Total des Points obtenus]").FillDown

Code:
Sub MajTabClassement()
'à partir de la liste des Inscrits
'recréer le tableau TabClassement
'y fait figurer tous les objets
' met une formule pour compter les points de chaque objet (ces points sont comptabilisés à partir du TabVotes

Application.EnableEvents = False
Application.Goto Reference:="TabClassement"
'efface le tableau
Selection.ClearContents
'redimensionne le tableau avec une seule ligne
ActiveSheet.ListObjects("TabClassement").Resize Range("$A$1:$D$2")
i = 1

'on parcourt toutes les lignes (tous les inscrits) du tableau
For Each Inscrit In Range("TabInscrits").Resize(, 1)
    'on parcourt tous les objets de la colonne H (8) à la colonne S
    For NumObjet = 8 To 8 + 12
        'si il y a un objet à recopier
        If Sheets("Liste des Inscrits").Cells(Inscrit.Row, NumObjet) <> "" Then
            Sheets("Classement Votes Photos").Range("TabClassement").Item(i, 1) = Inscrit
            Sheets("Classement Votes Photos").Range("TabClassement").Item(i, 3) = Sheets("Liste des Inscrits").Cells(Inscrit.Row, NumObjet)
            Sheets("Classement Votes Photos").Range("TabClassement").Item(i, 2) = Sheets("Liste des Inscrits").Cells(Inscrit.Row, 4) + Int((NumObjet - 7 - 1) / 3)
            i = i + 1
        End If
    Next NumObjet
Next Inscrit
'à ce stade, tous les objets sont reportés avec le nom de l'exposant et le numéro de panneau sur lequel ils figurent
'on se place sur la colonne 4 de la première ligne
Range("TabClassement").Item(1, 4).Select
'et on applique la formule: cette formule sera recopiée automatiquement sur toute la colonne de la table.
ActiveCell.FormulaR1C1 = _
        "=IF(ISNUMBER(RC[-1]),SUMIF(TabVotes[N° des Photos],RC[-1],TabVotes[Nb de Points]),"""")"

'Cette ligne "force" la recopie de la formule..        
Range("TabClassement[Total des Points obtenus]").FillDown
       
Application.EnableEvents = True

End Sub
 

Pièces jointes

  • Tableau des Exposants_V14.xlsm
    69.5 KB · Affichages: 36
  • Tableau des Exposants_V14.xlsm
    69.5 KB · Affichages: 38

Hyriu29

XLDnaute Junior
Re : Réaliser un tableau excel avec incrémentation

Bonjour,
J'ai fait ce que tu m'as demandé
-Afficher l'onglet "développeur" dans le ruban excel
-cocher dans Options Excel
les Compléments (ils étaient désactivés).
J'ai sauvegardé et refait des tests à partir de la version v13xlsm avec macros.
ça ne marchait toujours pas !!
Dans la version v13xlsm j'ai ajouté la ligne de commande dans la macro:
'Cette ligne "force" la recopie de la formule..
Range("TabClassement[Total des Points obtenus]").FillDown
et refait les tests sur la cette version modifiée: et ça marche !!!!!!!

Après je me suis aperçu que tu avais joint à ton post le fichier v14 (qui intègre la modif), je l'ai testé, ça marche aussi (heureusement)
Pièce jointe v14:
REMARQUE,
dans la version v12, il y avait un test d'existence d'objet qui fonctionnait, dans la version v13 ça ne fonctionnait pas, dans la v14, non plus.
CLASSEMENT POSSIBLE
Comme dans le fichier joint est-il possible d'ajouter une colonne dans la feuille Classement des votes, pour obtenir le classement du 1er au dernier en tenant compte des ex-aequos (nb de points identiques) ?

Question: cette ligne ajoutée, qui force la recopie de la formule, ne posera t-elle pas de problème si le fichier est ouvert avec une version autre que celle installée sur mon ordi? autrement ce fichier pourra t-il être lu sur un autre PC
possédant excel?
Hyriu29
 

Pièces jointes

  • Tableau des Exposants_V14.xlsm
    79.9 KB · Affichages: 38
  • Tableau des Exposants_V14.xlsm
    79.9 KB · Affichages: 38
Dernière modification par un modérateur:

Discussions similaires

Réponses
16
Affichages
522
Réponses
2
Affichages
520

Statistiques des forums

Discussions
312 218
Messages
2 086 366
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang