Le mien aussi je redimensionne en cas de colonne entière sélectionnée (message plus haut)et dans le mien le max c'est le end (xlup)
Non j'ai une une incompatibilité de type...c'est msgbox selection.entirecolumn
apres en array faut convertir je crois
Oui tu parle du CustomUI, oui je ne svaispas ce que c'était "Template" et "TRAVELDOO" et puis c'est pour Virginie , non ? LoLet le nom du tab et group a changé
myarray=Evaluate("COLUMN(" & Selection.EntireColumn.Address & ")")
MsgBox Join(myarray, ",")
et voila un truc a garder sous le coude
MyColumnsArray = Evaluate("COLUMN(" & Selection.EntireColumn.Address & ")")
For c = 1 To UBound(MyColumnsArray, 1)
MyLastColumn = MyColumnsArray(c)
Next c
MsgBox MyLastColumn
If Selection.Count >= Rows.Count Then
Set TargetRange = Range(Cells(2, Selection.Columns.column), Cells(Rows.Count, MyLastColumn).End(xlUp))
End If
Non Jamaisssss, c'est hyper passionnant, mais nos échanges se croise ca devient le bordel dans mes fichiers... pas dans la tête (c'était déjà le bordel)Virginie nous dira si elle en a pas marre
Login : Génère 2/3 lignes supplémentaire avec que le /SOCIETE et #N/A, cela va générer des erreurs lors du chargement.
VB:MyColumnsArray = Evaluate("COLUMN(" & Selection.EntireColumn.Address & ")") For c = 1 To UBound(MyColumnsArray, 1) MyLastColumn = MyColumnsArray(c) Next c MsgBox MyLastColumn
MyColumnsArray = Evaluate("COLUMN(" & Selection.EntireColumn.Address & ")")
MyLastColumn=MyColumnsArray(ubound(MyColumnsArray))
:
Set TargetRange = Range(Cells(2, Selection.Columns.column), Cells(Rows.Count, Selection.Columns.column).End(xlUp))
Set TargetRange = Range(Cells(2, Selection.Columns.column), Cells(Rows.Count, MyLastColumn).End(xlUp))
grosse erreur de procéder comme ça quand on travaille sur des tableaux
ne jamais prendre le end(xlup) de la dernière colonne
d'autant plus qu'en général c'est plutôt l'inverse les première colonnes remplies sur une lignes les dernières parfois vides
ca aussi a méditer
il faudra revoir plein de petit trucs qui ont été négligé
et non thierry dans ton codeRe Patrick
Pour la première partie, oui c'est brut de décorticage de ton génial Evaluate. C'est clair je fatique, en plus travaillant directement sur la XLA à chaque fois que je ferme, vu qu'il n'y a pas d'alerte de sauvetage, j'ai tout perdu, LoL !!! Faut tout le temps "mitrailler" la disquette depuis VBE sinon, ben hop tout parti !!! donc je m'y suis repris à 10 fois pour faire cette cochonnerie !
Pour la seconde partie, je n'écris plus ceci dans mon post #167, mais ceci :
Set TargetRange = Range(Cells(2, Selection.Columns.column), Cells(Rows.Count, MyLastColumn).End(xlUp))
La dimension de fin de Range est prise sur X Columns
Ah zuttt !!! Normal dans mon template d'origine le sheets est nommé "Profile", et comme je change de fichier j'ai oublié de modifier cet élément, bien vu !!!re
et encore une
grosse erreur de procéder comme ça quand on travaille sur des tableauxVB:Set TargetRange = Range(Cells(2, Selection.Columns.column), Cells(Rows.Count, MyLastColumn).End(xlUp))
ne jamais prendre le end(xlup) de la dernière colonne
d'autant plus qu'en général c'est plutôt l'inverse les première colonnes remplies sur une lignes les dernières parfois vides
ca aussi a méditer
il faudra revoir plein de petit trucs qui ont été négligé
@Virginie17d
la génération de mdp dans les grandes lignes ?
- combien de caractères ????
- combien de lettres , de numeriques , de caracteres particuliers ????
- la destination ????
J'ai eu la même tout à l'heure et je crois que j'ai du lacher quelques injures et le CTRL+Z ne fonctionne pas snifffFaut tout le temps "mitrailler" la disquette depuis VBE sinon, ben hop tout parti !!! donc je m'y suis repris à 10 fois pour faire cette cochonnerie !
LEs valeurs Nom prénom et Email sont obligatoire, les colonnes Action et Type également, toutes les autres sont optionnelsRe Patrick
C'est pour le Entire-Multi-Colonnes et éviter que ca mouline jusqu'à la Saint GlinGlin tout ça ........
Avant il n'y avait aucun garde-fou...
Il y a toujours moyen d'améliorer évidemment, si on a toujours quelque chose en Colonne "A" c'est sur que c'est plus simple...
Mais comme je dis j'ai la "Culture XLA" ca doit s'adapter à tout classeur, probablement en rester à la v01, c'est plus simple puisque elle est bridée pour ne traiter qu'une seule colonne entière à la fois... A vouloir trop en faire maintenant avec du Entire-Multi-Colonnes on s'expose à des effets de bord...
Mais on moins on apprends des trucs ! N'est-ce pas Patrick et Virginie !
@+Thierry
EDIT Après reflexion, dans le cas du Tableau de Virgine, si toutes les colonnes n'ont pas les mêmes longueurs, à mon avis c'est qu'il manque des data aussi, non ?
*Boum sur Excel 2013 32et c'est
msgbox selection.column.address ' SANS LE (S)qui donne la premiere
et non thierry dans ton code
la dimension rows se fait par Cells(Rows.Count, MyLastColumn).End(xlUp)
en l’occurrence ici la dernière ligne de LA DERNIERE COLONNES et non LES COLONNES