Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Selection jusqu'a la dernière colonne non vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jeremy992

XLDnaute Occasionnel
Bonjour à tous,

Je bloque sur un problème qui est surement simple mais... impossible de trouver !
Donc je m'en remet a vous.

Je chercher simplement a sélectionner de la colonne AZ1 à la dernière colonne non vide pour ensuite les copier et coller a un autre endroit, tout ça avec une petite macro.

Voila, j'attend vos réponse avec impatience et merci d'avance du temps que vous accorderez a mon problème.
 
Re : Selection jusqu'a la dernière colonne non vide

Pour le moment j'ai ça:

Code:
Private Sub CommandButton1_Click()
'Programme par Jeremy Tirilly le 23/04/14
Dim derlig As Integer, style As Integer
Dim Msg As String, Title As String, Response As String

Application.ScreenUpdating = False
Msg = "Voulez-vous effacer tous les enregistrements du tableau ?"
style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Séquence de Suppression"
Response = MsgBox(Msg, style, Title)
If Response = vbNo Then Exit Sub

Columns("AZ:BC").Select
    Selection.Copy

Range("B2:BC14").ClearContents
Range("B16:BC20").ClearContents
Range("B22:BC24").ClearContents
Range("B26:BC50").ClearContents
Range("B2:BC14").Interior.ColorIndex = xlNone
Range("B16:BC20").Interior.ColorIndex = xlNone
Range("B22:BC24").Interior.ColorIndex = xlNone
Range("B26:BC50").Interior.ColorIndex = xlNone

Range("B1").Select
    ActiveSheet.Paste

Application.Dialogs(xlDialogSaveAs).Show


End Sub

D'ailleurs j'ai un problème avec le ActiveSheet.Paste qui ne marche pas... décidément rien ne va ><
 
Re : Selection jusqu'a la dernière colonne non vide

Bonjour Jeremy992, le Forum...

Très certainement à compléter, mais comme on n'a pas les infos...
Code:
Sub TEST1()
    Range("AZ1").Select
    Range(selection, selection.End(xlToRight)).Select
    Range(selection, selection.End(xlDown)).Select
End Sub

A+
 
Re : Selection jusqu'a la dernière colonne non vide

Bonjour ,

@ Hello Ralph

ATTENTION , ne fonctionne pas si tu as des cellules fusionnées .

Sub ii()

Range("AZ5").Select
Range(Selection, Selection.End(xlToRight)).Copy Destination:=Sheets("Autre").Range("A1")
End Sub
 
Re : Selection jusqu'a la dernière colonne non vide

Bonjour,

Teste ceci :
Code:
Sub Test()

    Dim Plage As Range
    
    With Worksheets("Feuil1")
    
        Set Plage = .Range(.Cells(1, 52), _
                    .Cells(.Cells.Find("*", .[A1], -4123, , _
                    1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                    2, 2).Column))
    
    End With
    
    'pour le test
    MsgBox Plage.Address(0, 0)
    
    'ici ton code...
    
End Sub

Hervé.
 
Re : Selection jusqu'a la dernière colonne non vide

Bonjour à tous,

J'ai tester vos solutions mais je n'arrive pas au résultat voulu...

Je voudrais copier de la colonne AZ1 à la dernière colonne non vide
Puis effacer tout les données
Et enfin coller à partir de B1

Après ça j'ouvre un "enregistrer sous" ou je viens changer le 2014 du nom de fichier par 2015.

Le tout avec le bouton "NOUVEAU" en haut à gauche !

J'espère être assez précis :/

Je vous joins le fichier pour plus de compréhension.
 
Dernière édition:
Re : Selection jusqu'a la dernière colonne non vide

Bonjour,

Teste ce code mais d'abords, adapte le nom des feuilles ici, "Feuil1" est la feuille où sont récupérer les données et "Feuil2" la feuille où sont inscrites les données :
Code:
Sub Test()

    Dim Plage As Range
    
    If MsgBox("Voulez-vous effacer tous les enregistrements du tableau ?", _
              vbYesNo + vbQuestion, _
              "Séquence de Suppression") = vbNo Then Exit Sub
    
    With Worksheets("Feuil1")
    
        Set Plage = .Range(.Cells(1, 52), _
                    .Cells(.Cells.Find("*", .[A1], -4123, , _
                    1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                    2, 2).Column))
    
    End With
    
    With Worksheets("Feuil2")
    
        .Range(.Cells(1, 2), .Cells(Plage.Rows.Count, Plage.Columns.Count + 1)).Value = Plage.Value
    
    End With
    
    Plage.ClearContents
    Plage.Interior.ColorIndex = xlNone
    
    Application.Dialogs(xlDialogSaveAs).Show
    
End Sub

Hervé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…