Bonjour,
J'essaie de transformer un tableau double entrée en 1 dimension sur Excel et je bloque ici en me disant que l'objet ou la variable celluleTableau1 n'est pas défini.
Auriez-vous une idée ?
Merci
![]()
Bonjour,
J'essaie de transformer un tableau double entrée en 1 dimension sur Excel et je bloque ici en me disant que l'objet ou la variable celluleTableau1 n'est pas défini.
Auriez-vous une idée ?
Merci
![]()
Bonjour EDE2709,
Sur ta ligneregarde l'orthographe de Celulle....
Code : Sélectionner tout - Visualiser dans une fenêtre à part For Each CelulleTableau1....
Ah ben oui merci à force d’être trop restée dessus je ne voyais plus
Bonjour
comme tu mixtes majuscules/minuscules dans tes noms de variables, prends l'habitude de toujours saisir en minuscules.
Si Excel ne "met pas" les majuscules, c'est qu'il n'a pas reconnu ce qui a été tapé.
Bonjour,
j'ai réussi à faire tourner la matrice sauf que je n'arrive pas à mettre les bonnes colonnes dans l'ordre.
J'aimerais juste avoir les EX_ à gauche puis les phases puis les ref.
Bonjour,
je ne se suis pas sûr de comprendre ce que tu veux faire mais il me semble que déjà il faudrait sauter la ligne 1 (et la colonne 1 ?).
Remarque en passant si je vois bien tu es dans un tableau structuré : utilises les propriétés du listobject comme databodyrange ou listrows qui sera une façon élégante de traite le pb précédent.
Tu peux par exemple aller puiser de l'inspriration par là :
https://fauconnier.developpez.com/tu...structuresvba/
Je voudrais ce format là :
Mais merci je vais regarder ce que tu m'as envoyé
Re,
tu n'auras pas REXS / Phase / REF sur la ligne 1 sauf à les y mettre explicitement puisqu'ils ne sont pas dans ton tableau source, ce que tu as déjà du faire puisque tu commences à écrire en A2.
En restant au plus près de ton code, ça pourrait donner :
pas testé mais aux fautes de frappe près ça ne doit pas être trop mal...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 For Each celluleTableau1 in pTableau1 If celluleTableau1.Row <> LigneTitre then ' au saute la ligne de titre pour ne pas avoir un bloc de libellés au début If celluleTableau1.column <> ColonneTitre then ' au saute la colonne de ref pour ne pas avoir une ligne "colonne 1" avec la ref dans chaque bloc ' contenu du for inchangé ' ... End If End If Next celluleTableau1
En passant quelques conseils de codage :
- remonte toutes tes déclarations en début de sub
- remets le nom de la variable du for sur les next (facultatif mais aide à la relecture)
- pense que les numéros de ligne peuvent dépasser le million donc sont mieux dans des Long que dans des Integer, autant prendre l'habitude.
Super merci beaucoup ça fonctionne avec ce programme :
![]()
Re,
En passant quelques conseils de codage :
- remonte toutes tes déclarations en début de sub
- remets le nom de la variable du for sur les next (facultatif mais aide à la relecture)
- pense que les numéros de ligne peuvent dépasser le million donc sont mieux dans des Long que dans des Integer, autant prendre l'habitude.
- indente ton code
![]()
Je ne veux pas refroidir l'ambiance, mais Power Query fait cela en trois clics sans code, et il suffit de mettre un peu de mise en forme conditionnelle pour la couleur.
Bref, de connaître et d'utiliser Excel, en fait.
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Partager