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

XL 2019 Transformer des lignes de codes pour pratiquer Tablo à 4 colonnes et 40 lignes

  • Initiateur de la discussion Initiateur de la discussion Webperegrino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Webperegrino

XLDnaute Accro
Supporter XLD
Rien d'urgent et ... dans la continuité de la discussion 'https://excel-downloads.com/threads...pave-de-cellules-contenant-des-vblf.20087184/'

Bonsoir Le Forum,
J’en appelle aux spécialistes des Tableaux à 4 dimensions d(40,4), comme l’a fait Job75 dans le vba ci-joint dans le fichier (que je remercie encore car c'est une formulation redoutable par sa rapidité).
Je cherche justement par ce procédé à améliorer mes lignes de codes dans le module 1 et dans la Feuille FICHPOSINDIV.

Mon problème :
La macro fonctionne déjà bien comme cela : elle extrait des données en cellules jaunes la Feuille PANORAMIQUE.
Ces cellules peuvent éventuellement être au nombre de 10 x 82 = 820 si toutes jaunes et contenant donc des données à analyser.
Le placement final de la macro s’affiche sous conditions en une fiche individualisée, après le choix en [B4] de FICHPOSTINDIV du prénom à rechercher dans PANORAMIQUE.

Au milieu du Module 1, j’ai un « For...Next » qui pourrait être traité avec tablo(40,4))...(tableau à 40 lignes et 4 colonnes) à la façon de lignes rédigées par Job75 plus bas dans la macro...
La durée serait que la macro serait certainement réduite ... mais je ne sais pas faire avec 4 variables ; je m'y perds même en essayant de comprendre les astuces de Monsieur Boisgontier sur son site que lui et sa famille ont bien voulu nous laisser disponible.
Donc si vous pouviez m’aider dans les lignes suivantes, ce serait grandiose pour moi.
Merci
Webperegrino

VB:
For lg = 28 To 37
   For col = 7 To 88
      If PAN.Cells(lg, col) <> "" Then '------- une case occupée de PAN
            lgd = Ri.Range("C" & Rows.Count).End(3).Row + 1
            If lgd < 9 Then lgd = 9
            If PAN.Cells(lg, col) Like "*" & Ri.[B4] & "*" Then 'traitement de cases contenant le caissier Ri.[B4]
            Ri.[I13] = 1
            Ri.Cells(lgd, 2) = PAN.Cells(lg, 5) '----- le jour
            If lgd = 9 Then nbP = nbP + 1 'NOMBRE DE JOURS EN POSTE
            If lgd > 9 And Ri.Cells(lgd, 2) <> Ri.Cells(lgd - 1, 2) Then nbP = nbP + 1
            Ri.Cells(lgd, 3) = PAN.Cells(165, col)
            Ri.Cells(lgd, 3).Interior.Color = PAN.Cells(165, col).Interior.Color 'mise en coloration
            Ri.Cells(lgd, 3).Font.ColorIndex = PAN.Cells(165, col).Font.ColorIndex
            Ri.Cells(lgd, 3).Font.Bold = True 'False
            Ri.Cells(lgd, 4) = PAN.Cells(lg, col)
            Ri.Cells(lgd, 5) = PAN.Cells(166, col)
            Ri.Cells(lgd, 36) = PAN.Cells(5, col)
      End If
      End If
   Next col
Next lg
 

Pièces jointes

Bonsoir, je crois que tu confonds dimension et nombre de colonnes dans une dimension.
Un tableau ou encore une Matrice pour faire un rappel de Maths comportant X lignes et Y colonnes sera toujours un tableau ou une matrice à deux dimensions. Un tableau (matrice) de X lignes, Y colonnes et pour chaque Y colonne on a une décomposition en Z colonnes sera cette fois un tableau (matrice) à 3 dimensions. C'est sa représentation dans l'espace. Ici nous sommes en 3D comme si tu avais un axe X, un axe Y et un axe Z.



J'espère t'avoir aidé 😉
 
Dernière édition:
C'est ce type de tableau que j'utilisais au tout début des années 1980 pour encoder un Rubik's Cube afin que mon petit programme dise ensuite quelles faces tourner dans quel sens pour reconstituer ledit Rubik's.
Dire que c'était sur un pocket computer qui avait moins de 2 ko de RAM... 😱
 
Le Forum,
Merci Oguruma et ToofatBoy pour #16 et #17 : oui ça devient plus clair.
Ouhlà l "Les espaces vectoriels", ça me remonte à plus de 53 ans ! C'est dans l'antiquité que je résolvais ces formules, du reste passionnantes tant l'antiquité que les formules....
Webperegrino
 
Hé oui... certainement en basic pur et dur avec PEEK POKE USR(0) tu codais tout dans dans des ligne DATA, READ, RESTORE en hexa après avoir transformer ton code mnémonique en hexa - une belle boucle pour charger les DATA- assembleur Z80 avec des registres 8 bits ... c'est bien ça ? sur du TRS-80, ZX-81... et j'en passe.... mais là on prend un grand coup de jeunesse... un octet coûtait bonbon à l'époque...
 
Le Forum,
Bonjour Bsalv,
Je reviens sur la proposition #12 où j'ai ajouté un choix d'ordre en cellule [O2] que je souhaite dans son usage.
Les lignes de commande vba pourraient-elles ne donner qu'une ligne pour les zones que j'ai soulevées en colonne L pour vous les montrer?
Ça allégerait grandement la présentation finale en nombre de lignes trouvées, surtout quand la macro analysera sur les dix jours !.

Ainsi comme une seule ligne contient un premier prénom (colonne f) nous avons les autres de toute façon en colonne voisine (G).

C'est surtout cette présentation qui servira en réalité dans mon gros fichier : ordre 1 : jour, ordre 2 : Lieu, ordre 3 : Heure début
Votre conception serait parfaite pour un autre usage dans ce gros fichier, que l'extraction recherchée dans FICHPOSTINDIV, objet de la recherche dans la présent flux de discussion.
Ci-joint la variante de votre fichier démonstration [voir #25, avec le fichier rectifié, plus évolué, mais à problème de doublons].
Merci pour votre aide.
Webperegrino
 
Dernière édition:
... pour BDD seulement, la solution serait peut-être de ne mette qu'une seule colonne F (et F et G) dans BDD pour rapatrier le contenu complet des cellules de Panoramique. J'ai essayé avec Var1, mais ça "bug un peu"...
Est-ce aussi votre avis ?
Webperegrino
 
Dernière édition:
quand on active la feuille "Fichpostindiv"on lance la macro "depivoter" pour mettre à jour le TS de BDD
quand on change le nom en cellule B4, on lance la macro "Teste".
Les données à partir de la colonne I, je ne les ai pas vérifiées, peut-être inutiles ?


Edit : sorry, je n'avais pas encore lu vos commentaires de ce matin, un instant ...
Edit 2 : j'attends votre commentaire ...
 

Pièces jointes

Le Forum,
Bsalv, c'est parfait !
La version #26 semble résoudre l'affaire, avec une extrême rapidité en effet, la récolte des postes pour une personne dans la feuille FICHPOSTINDIV.
C'est merveilleux.
Dans votre version, je vois qu'une nouvelle colonne 'concat' vient préparer ce qui devra se voir en colonne C de FICHPOSTINDIV.
Le lieu, sur certaines feuilles de ma vraie application, est utilisé parfois par sa dénomination de base (Lieu 3 par exemple), à d'autres endroits avec la plage Horaire (Plage + chr(10) + Lieu 3), puis ailleurs encore avec la totalité des infos, selon que le bénévole est "AMB" ou "FIXE" (les trois lignes visibles en colonne C de FICHPOSTINDIV, avec l'info supplémentaire 'AMB' ou rien pour 'Fixe'). J'en ai donc besoin.
D''où l'intérêt de votre feuille récapitulative BDD qui va grandement servir aussi, en plus de ce que j'ai dans une feuille PARAMETRES et des infos dans récupérées dans PANORAMIQUE.
Reste à moi maintenant de bien comprendre le fonctionnement des lignes de codes pour cela se place correctement dans mon application.
... et ordonner BDD dans l'ordre Date -Lieu - Début (col A - Col B - Col I) ; je verrais ensuite si c'est Col B ou Col E qui servira dans l'ordre, et avec Col E je n'aurai plus besoin, sans votre aide, de faire un ordre sur colonne I.
Merci beaucoup Bsalv : super cadeau d'anniversaire, ce jour...
Webperegrino
 
Joyeeeeux Anniiiiiiiversaiiiiiiire!

Mince il n'y a plus d'émojis.
 
Allez, bon anniversaire,👑

Le tableau en BDD est la source de tout et on n'a qu'à la trier et filtrer comme voulu.
un exemple en plus, macro "Exemple_Lieu" et la feuille "Lieu" & sq cellule B4 (lieu)
Il y a une matrice, que vous pouvez modifier, avec les N° et séquence des colonnes qu'on veut coller dans ce TS
 

Pièces jointes

Le Forum,
Merci les Amis (vos souhaits d'anniversaire).
Bsalv dans l'avant dernière vesrion je suis fier d'avoir réussi à cacher les doublons pour mieux visionner BDD.
Critiquez-moi si j'ai mal agi. Cette variante en pièce jointe.
Cordialement,
Ça swingue bien avec ces belles lignes de code !
J'analyserai aussi l'option toute dernière #29.
Merci
Webperegrino
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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