Dernière colonne non vide
Bonjour,
J'ai un problème lorsque je demande au code de m'afficher la dernière colonne utilisé sur la ligne 3 de la feuille "mensuel1", il me dit constamment que c'est la colonne 256 or c'est faut! je n'utilise pas 256 colonnes...
j'utilise le code suivant :
Dercol = 0
MsgBox (Dercol)
Dercol = Worksheets("mensuel1").Range("A3").SpecialCells(xlCellTypeLastCell).Column
MsgBox (Dercol)
il fonctionne parfaitement lorsque je fais des tests sur d'autre fichiers...
Je vous joints donc mon fichier pour que vous voyez le problème
merci beaucoup
Bonjour
Essayes cette macro pour trouver la dernière colonne de la ligne 3
DerCol = Worksheets("mensuel1").Cells(3, Columns.Count).End(xlToLeft).Column
Marche nickel merci !
Autre petite question svp :
pourquoi la fusion des cellules ne fonctionne pas avec ce bout de code :
Range(Worksheets("mensuel1").Cells(3, 3), Worksheets("mensuel1").Cells(3, 4)).Merge
venant du code général suivant :
Sub Recup()
Dim Plage As Range
Dim NomFeuille As String
Dim feuilleinitiale As String
Dim tableau1() ' représente les différents sites
Dim tableau2() ' représente les repos habituel
Dim Dercol As Integer
feuilleinitiale = CStr(Val(ActiveSheet.Name))
With Worksheets(feuilleinitiale)
'définie la plage a` recopier dans l'onglet de base
Set Plage = .Range(.Cells(1, 1), .Cells(80, 40))
tableau1 = Range("A4:P21")
tableau2 = Range("A23:T30")
End With
With Worksheets("mensuel1")
' chercher la dernière colonne non utilisée sur la ligne 3
For i = 7 To 37
If .Cells(i, 2).Value = feuilleinitiale Then ' And Worksheets(feuilleinitiale).Cells(5, 1) <> "" Then
' vérifier qu'on soit bien a la même date
Dercol = 0
MsgBox (Dercol)
Dercol = Worksheets("mensuel1").Cells(3, Columns.Count).End(xlToLeft).Column
MsgBox (Dercol)
If Worksheets(feuilleinitiale).Cells(5, 1) <> "" Then
'vérifier qu'il y a qqn au premier site
If .Cells(3, 3) = "" Then
' .Cells(3, 3).Value = Cells(5, 1).Value 'Le value est en option
.Cells(3, 3).Value = Cells(5, 1).Value 'coller le contenu copié dans la nouvelle feuille créé a` partir de la cellule A1
' MsgBox (Worksheets(feuilleinitiale).Cells(5, 1).Value) 'Le value est en option
Range(Worksheets("mensuel1").Cells(3, 3), Worksheets("mensuel1").Cells(3, 4)).Merge
End If
End If
End If
Next i
End With
End Sub
merci
Bonsoir
Comme tu es "dans" une feuille
With Worksheets("mensuel1")
Essayes
.Range(.Cells(3, 3), .Cells(3, 4)).Merge
Sinon il faut ton fichier