XL 2013 remplir derniere colonne d'un tableau

Arctica67

XLDnaute Nouveau
Bonjour,

j'ai un tableau dont le nombre de colonnes et lignes varient Je souhaiterai remplir toutes les cellules de la dernière colonne non vide du tableau avec la valeur 50
j'ai ce bout de code
"Columns(Val(ActiveSheet.UsedRange.Columns.Count)).Value = "50""
malheureusement il me rempli toute la colonne donc j'ai essayé cela
"For o = [A65000].End(xlUp).Row To 2 Step -1
Cells(o, Columns(Val(ActiveSheet.UsedRange.Columns.Count))).Value = "50""
mais j'ai une incompatibilité de type
pourriez vous m'aider ?
pourquoi cette incomptabilité ?
 

vgendron

XLDnaute Barbatruc
quant au pourquoi de ton pb d'incompatibilité de type..
ActiveSheet.UsedRange.Columns.Count est un nombre...
val(ActiveSheet.UsedRange.Columns.Count) est aussi un nombre.. mais je vois pas l'intérêt de la fonction Val dans ce cas...??
columns(val(ActiveSheet.UsedRange.Columns.Count)) : c'est TOUTE la colonne = range
cells(o,columns(val(ActiveSheet.UsedRange.Columns.Count))) BUG.. CELLs demande DEUX nombres; ligne et colonne
 

Boo2bafoot

XLDnaute Nouveau
Bonjour

en essayant ce code peut etre
VB:
LastCol = ActiveSheet.UsedRange.Columns.Count
LastLine = ActiveSheet.UsedRange.Rows.Count
Range(Cells(1, LastCol), Cells(LastLine, LastCol)) = 50

Bonjour à tous les 2,
Si je peux apporter ma contribution, je pense que dans le code proposé par vgendron, il faudrait plutôt pour ne pas remplacer les valeurs de la dernière colonne mais bien remplir la 1ère colonne vide faire plutôt

Code:
LastCol = ActiveSheet.UsedRange.Columns.Count
LastLine = ActiveSheet.UsedRange.Rows.Count
Range(Cells(1, LastCol +1 ), Cells(LastLine, LastCol)) = 50

Cordialement,
 

vgendron

XLDnaute Barbatruc
salut Boo2bafoot,
exact, tu as raison
et notre ami Artica aura corrigé tout seul
soit
lastcol=LastCol = ActiveSheet.UsedRange.Columns.Count+1
LastLine = ActiveSheet.UsedRange.Rows.Count
Range(Cells(1, LastCol ), Cells(LastLine, LastCol)) = 50

soit
lastcol=LastCol = ActiveSheet.UsedRange.Columns.Count
LastLine = ActiveSheet.UsedRange.Rows.Count
Range(Cells(1, LastCol +1), Cells(LastLine, LastCol+1)) = 50

ou encore
lastCol = ActiveSheet.UsedRange.Columns.Count + 1
lastline = ActiveSheet.UsedRange.Rows.Count
Cells(1, lastCol).Resize(lastline) = 50
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 701
Membres
103 373
dernier inscrit
Edouard007