vinsou82
Messages postés9Date d'inscriptionmercredi 5 septembre 2007StatutMembreDernière intervention25 septembre 2009
-
5 sept. 2007 à 21:11
vinsou82
Messages postés9Date d'inscriptionmercredi 5 septembre 2007StatutMembreDernière intervention25 septembre 2009
-
14 sept. 2007 à 20:31
Bonjour à tous!
Ceci est mon premier poste et pour cause: je n'ai jamais touché à du VBA, mais là je me retouve le nez dedans malgrés moi et sans aucune connaissance!
Je suis très embêté avec une macro sur un fichier Excel, dans laquelle je souhaite enregistrer les manipulations, consistant à copier/coller les valeur (nombres) d'une série de cellules dans une grille, et les utiliser pour paramétrer la largeur des colonnes dans lesquelles ces valeurs se trouvent.
En d'autres termes, je souhaite que la largeur des colonnes de ma grille Excel soient fonction de la valeur qui se trouve dansles cellules d'une ligne renseignée à cet effet.
Exemple : 4 dans la cellule C3 et bien je copie cette valeur, clic droit sur la colonne C, largeur de la colonne, et je colle la valeur.
et je répète cette manip pour chaque colonne.
Le problème, c'est que lorsque la macro s'enregistre, elle conserve la valeur prise à l'enregistrement, elle ne reste pas "active", car ces valeur sont amenées à changer selon les datas de mes calculs.
Donc je souhaite modifier la macro enregistrée, pour que celle ci soit "dynamique".
Voilà j'espère avoir été clair et conci.
Peut être qu'un autre moyen existe plus simple, je suis interessé bien sûre.
vinsou82
Messages postés9Date d'inscriptionmercredi 5 septembre 2007StatutMembreDernière intervention25 septembre 2009 6 sept. 2007 à 13:57
Désolé pour le mauvais choix du forum, puissequ'on y est je propose de continuer ici.
Merci pour ta réponse, je vais essayer ce soir, mais je ne pense pas que la première proposition soit adaptée, je connait le double clique entre les deux colonnes pour adapter la largeur à la taille du contenu, mais ça n'est pas ce que je recherche puisseque par exemple la valeur 68 ne donnerai surement pas une largeur de 68 à ma colonne.
Ce que je recherche est sensinlement différent, et n'est à priori pas possible via les forumles de Excel, je vais dc me pencher sur la deuxieme pour voir ce soir.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 7 sept. 2007 à 11:40
Inscris des valeurs en A1 jusqu'à E1 (ex: 10, 15, 20...)
et essaie ce bout de code
Dim I As Integer
For I = 1 To 5
Columns(I).ColumnWidth = Cells(1, I)
Next
Si tu cliques entre 2 colonnes et que tu tiens le bouton pressé, c'est le chiffre de gauche qui sera utilisé dans ce cas-ci (mesure par rapport à la police). Si c'est une largeur en Pixels que tu veux inscrire, il te faudra alors créer une formule de calculs pour convertir et ce n'est pas simple ...
MPi
Vous n’avez pas trouvé la réponse que vous recherchez ?
vinsou82
Messages postés9Date d'inscriptionmercredi 5 septembre 2007StatutMembreDernière intervention25 septembre 2009 14 sept. 2007 à 20:31
Pardon pour le retard de réponse
J'ai depuis trouvé une parade, à mon problème, en faite il fallait que je remplace les valeur enregistrées dans la macro, par la dénomination en code vba de la cellule en question soit: Range("B6") voilà et marche super!
Mais je vais tout de même essayer ta solution car ça commence à m'interesser la prog sous VBA pour me faire des macro, ça me permet de me créer des petites moulinettes simpa pour le boulot évitant l'achat, de gros software bien connu et surtout bien cher... pour faire ce dont j'ai besoin, et peut être même aussi bien...