Selection d'une plage de données

  • Initiateur de la discussion Initiateur de la discussion La_FaRcE
  • Date de début Date de début

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 !

L

La_FaRcE

Guest
Bonjour @ ts,

Voici mes pbs:

1/- Comment selectionner dans une feuille Excel la première cellule pleine jusqu'a la derniere cellule pleine (cellule contenant des infos) dans une colonne.

2/- Comment supprimer les lignes vides ( si la cellule A est vide, alors supprimer la ligne entière ).

3/- Est-il possible par une macro vba de reconnaitre une cellule ( ex : si A2 = "date de l'action", alors copier la colonne et la coller ds un autre classeur).
Le pb c que c pas toujours la colonne A qui contient l'info. Il faudrait que je puisse l'identifier pour la rapatrier dans la bonne feuille de mon classeur.

J'espère être assez clair dans mes explications.
Je remercie tous ceux qui pouront m'aider.

Attention c Excel 97.

Bonne soirée @ ts et @ ++
La_FaRcE.
 
Je te propose une macro pour chacun de tes pbs dans l'ordre ou tu les a soumis

Sub Macro1()


'
Range("A3").Select 'ici A3 est la première cellule de la colonne
Range(Selection, Selection.End(xlDown)).Select
End Sub


Sub Macro2()
'


For i = 1 To 300 'j'ai choisi 300 comme taille maximale de la colonne
ActiveCell.Offset(1, 0).Range("A1").Select
If ActiveCell.Value = "" Then
Selection.EntireRow.Delete
ActiveCell.Offset(-1, 0).Range("A1").Select
End If
Next
End Sub

Sub macro3() 'les info sont dans feuil1 et sont envoyées dans feuil2

Range("A1").Select 'coin haut gauche des données
For j = 1 To 4 'j'ai choisi de ratisser sur 4 colonnes
ligne10:
For i = 1 To 20 'j'ai choisi 20 comme taille maximale de la colonne
ActiveCell.Offset(1, 0).Range("A1").Select
If ActiveCell.Value = "date de l'action" Then
ActiveCell.Columns("A:A").EntireColumn.Select
Selection.Copy
Sheets("Feuil2").Select
ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select
ActiveSheet.Paste
'ActiveCell.Offset(1, 1).Range("A1").Select
Sheets("Feuil1").Select
ActiveCell.Offset(0, 1).Range("A1").Select
GoTo ligne10
End If
Next
i = i - 1
ActiveCell.Offset(-i, 1).Range("A1").Select
Next
End Sub

Salut
 
Bonjour La farce, Salut Franck,

En complément de la brillante démonstration de Franck ci-dessus, sur le point 1 je rajouterai que tu peux selectionner la plage de cellules souhaitée en selectionnant au clavier la premiere cellule puis en maintenant shift et ctrl enfoncés puis "flèche directionnelle basse"

A bientôt

Rénato
 
Bonsoir La Farce,

Voici les réponses aux questions que tu poses,

1. Coder l'instruction ======================================
UsedRange.Select 'Si la sélection porte sur la page
ou
WorkSheets("X").UsedRange.Select 'Si la sélection porte sur la feuille "X"

2.Coder les 3 instructions ===================================
For i = UsedRange.Rows.Count To 1 Step -1
If Rows(i).Cells(1) = "" Then Rows(i).Delete
Next i

3.Coder les 4 instructions ===================================
For Each Col In Workbooks("Classeur1").Worksheets("Feuil1").UsedRange.Columns
Set Cel = Col.Find("xxx", , , xlWhole)
If Not Cel Is Nothing Then _
Cel.EntireColumn.Copy Destination:=Workbooks("Classeur2").Worksheets("Feuil1").Columns(Cel.Column)
Next Col

Dans ce dernier on recherche la chaîne de caractères xxx dans les colonnes de la feuille Feuil1 du classeur Classeur1, si l'on trouve, on copie toute la colonne dans la feuille Feuil1 du classeur Classeur2

La recherche de la chaîne xxx porte sur un mot entier de la cellule, de nombreuses variantes sont possibles :
- mot partiel
- mot entier
- cellule entière

Je suis en Office 2003, je ne garantis pas que cela fonctionne en Excel 97

Voilà, au besoin tu peux me recontacter.

@+

Omicron
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour