(Résolu) selection ligne par tri colonne ( Résolu )

Kael_88

XLDnaute Occasionnel
Bonjour a tous, heureux de vous retrouver,

Aujourd’hui mon problème est sur l'export de données
il faudrait sélectionner les lignes par rapport au vendeur de la colonne "I" pour être copier dans un autre fichier
contrainte :
- le tableau d'origine possède un nombre aléatoire de lignes
- il commence toujours en cellule "A4"
- il doit sélectionner de "A" à "J"
- il doit copier ces lignes dans un tableaux sur un autre fichier à la suite de celles déjà en places.

merci de votre aide
 

Pièces jointes

  • Master1.xls
    27.5 KB · Affichages: 26
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : selection ligne par tri colonne

Bonjour kael

Ton fichier en retour, fait un double-clic dans la colonne des noms pour filtrer et copier, clic dans L3 pour tout réafficher. Attention ! Il ne faut pas avoir de cellules vides dans le tableau, ça cause des erreurs.

EDIT: pour la copie dans un autre fichier, tu trouvera ton bonheur sur le Forum. ;)
 

Pièces jointes

  • Master1.xls
    41 KB · Affichages: 28

Kael_88

XLDnaute Occasionnel
Re : selection ligne par tri colonne

Merci Lone-wolf et bonjour à toi et au forum,

Cela est bien, mais l’inconvénient ce trouve justement dans les cellules vides, c'est un tableau de 700 à 900 lignes(voir même plus des fois) donc il y a des vides qui doivent le rester.

Pour ce qui est du double clic, je ne suis pas pour car je l'utilise deja avec d'autre fonctions, un bouton serait un mieux.

Si toi ou le forum avez une autre idée.

Merci de votre compréhension.

Amicalement
 

Lone-wolf

XLDnaute Barbatruc
Re : selection ligne par tri colonne

Re Kael

La macro peut-être mise dans un module, il faudra dans ce cas ajouter With Feuil1 - la macro - End with. Pour les cellules vides, il me semble qu'il y a moyen de contourner le problème, mais seul un expert du Forum pourra t'aider.
 

gosselien

XLDnaute Barbatruc
Re : selection ligne par tri colonne

Bonjour,

si j'ai compris par rapport à la colonne I

Je changerais un peu de code comme ceci:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Target.Column = 9 Then Exit Sub
Range("a3:K7").AutoFilter Field:=9, Criteria1:=ActiveCell.Value, Operator:=xlAnd
Set plage = Range("a4:k" & Range("K65536").End(xlUp).Row)
plage.SpecialCells(xlCellTypeConstants).Copy Feuil2.Range("a65536").End(xlUp)(2)
Cancel = True
End Sub
Mais où peut il y avoir des vides précisément ?
 

Kael_88

XLDnaute Occasionnel
Re : selection ligne par tri colonne

Merci à vous et bonjour à vous et au forum,

vos propositions sont bonnes mais, elles ne vont pas pour mon projet.

Auriez vous autre chose en réserve svp ?

Merci de votre compréhension.

Amicalement
 

Kael_88

XLDnaute Occasionnel
Re : selection ligne par tri colonne

Bonjour Gosselien,

Comme expliqué plus haut je ne peux mettre un double clic, car il est utilisé pour d'autres fonctions, d'ou l'action avec un bouton.

Ensuite vu la grosseur du tableau reel, je ne peux me permettre de combler chaque cellule vide, d'ou la même action avec des cellules vides.

j’espère t'apporter plus de précision.

Cordialement
 

gosselien

XLDnaute Barbatruc
Re : selection ligne par tri colonne

re,

on peut mettre le code attaché à un bouton en tete de la colonne I ou encore dans le clic droit de la souris;
pour les cellules vides, je ne comprends pas ton problème ...
où sont elles dans l'exemple et que veux tu faire ou ne pas faire ?
 

Lone-wolf

XLDnaute Barbatruc
Re : selection ligne par tri colonne

Bonsoir à tous :)

@Kael: tu peux combler toutes les cellules vides comme ceci en un clic sur bouton.

Code:
Sub Remplir_Cel_Vides()
With Sheets("synthèse")
'Pour chaque cellule de la plage A4 - K65536
For Each cel In .Range("a4:k" & Range("k65536").End(xlUp).Row)
'Si les cellules sont vides alors... on y introduit des guillemets et on colorie le texte en blanc
If IsEmpty(cel) Then
cel.Value = """"
cel.Font.Color = vbWhite
End If
Next cel
End With
End Sub

Et ensuite sélectionne le nom de la personne, puis clic sur bouton.

Code:
Sub Copie_Filtre()
With Sheets("synthèse")
.Range("a3:j7").AutoFilter Field:=9, Criteria1:=ActiveCell.Value, Operator:=xlAnd
'Après filtrage on copie les cellules visibles et contenant du texte et on les colle en Feuille 2
Set plage = .Range("a4:k" & Range("k65536").End(xlUp).Row)
plage.SpecialCells(xlCellTypeConstants).Copy Feuil2.Range("a65536").End(xlUp)(2)

'Pour chaque cellule de la plage A4 - K65536 de la Feuille 1
For Each cel In .Range("a4:k" & Range("k65536").End(xlUp).Row)
'Si le texte des cellule est blanc on les efface et on remet la couleur de texte par défaut.
If cel.Font.Color = vbWhite Then
cel.ClearContents
cel.Font.Color = vbBlack
End If
Next cel
End With

'De même pour la Feuille 2
With Feuil2
For Each cel In .Range("a4:k" & Range("k65536").End(xlUp).Row)
If cel.Font.Color = vbWhite Then
cel.ClearContents
cel.Font.Color = vbBlack
End If
Next cel
End With
End Sub


Ton fichier en retour pour que tu voie le résultat.
 

Pièces jointes

  • Master1-V4.xls
    45 KB · Affichages: 32
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : selection ligne par tri colonne

Bonjour Lone,
A toutes et à tous,

Comme toujours, je regarde les fils qui retiennent mon attention et j'apprends.
Ta macro m'intéresse beaucoup :)

Est-il possible de faire la même sans filtrer ?
Bonne journée,
Amicalement,
Lionel,
PS : Pour le plaisir (enfin j'espère LOL) le dernier classeur chiffres en lettres
 

Pièces jointes

  • Montant en Lettres sans macro.xlsx
    146.5 KB · Affichages: 28

Lone-wolf

XLDnaute Barbatruc
Re : selection ligne par tri colonne

Bonjour Kael, Lionel :)

Désolé pour le retard, et ce n'est pas Lone...elle ;)

@Kael: J'ai mit des commentaires dans la macro du post #10. J'éspère que tu comprendra mieux.


@Lionel: désolé, je ne peux pas te répondre, il faudrait tester. Concernant le fichier, au lieu davoir les instructions sur la feuille, pourquoi ne pas créer un formulaire avec un Multipage comme celui-ci?

formulaire.gif
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : selection ligne par tri colonne

Bonjour Lone,
A toutes et à tous,

Merci de m'avoir répondu.

Je suis en train d'apprendre les formulaires mais je suis encore trop novice pour pouvoir en "faire" un.
D'autre part, si cette conversion intéresse quelqu'un, je pense que pour l'utiliser, c'est la façon la plus simple pour l'intégrer dans son classeur excel. Sous cette forme, je crois aussi qu'un "nul" comme moi devrait s'y retrouver.

Bonne journée :eek:
Amicalement,
Lionel,
 

Discussions similaires

Réponses
7
Affichages
344

Statistiques des forums

Discussions
312 176
Messages
2 085 959
Membres
103 065
dernier inscrit
HB ARPF 95