Formulaire , tri , ligne vide
Résolu/Fermé
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
-
10 mars 2017 à 15:03
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024 - 16 mars 2017 à 20:54
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024 - 16 mars 2017 à 20:54
A voir également:
- Formulaire , tri , ligne vide
- Aller à la ligne excel - Guide
- Supprimer page word vide - Guide
- Partager photos en ligne - Guide
- Formulaire de réclamation facebook - Guide
- Site de vente en ligne particulier - Guide
10 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
Modifié par ccm81 le 10/03/2017 à 16:35
Modifié par ccm81 le 10/03/2017 à 16:35
Bonjour
Est ce que la "ligne vide" reste toujours vide ou bien est ce qu'elle est susceptible d'être remplie et si oui, avec quoi (valeur, formule)?
Cdlmnt
Est ce que la "ligne vide" reste toujours vide ou bien est ce qu'elle est susceptible d'être remplie et si oui, avec quoi (valeur, formule)?
Cdlmnt
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
10 mars 2017 à 16:53
10 mars 2017 à 16:53
Bonjour julia
Si j'ai bien compris il faut rajouter une colonne B dans laquelle inscrire sur 2 lignes les valeurs de A , de manière ensuite à faire le tri sur cette colonne mais tu peux parfaitement masquer cette colonne B
Modifie alors ta macro ainsi :
Ne pas oublier non plus de modifier la plage dans la macro RAZ pour effacer aussi la colonne B
Cdlmnt
Via
Si j'ai bien compris il faut rajouter une colonne B dans laquelle inscrire sur 2 lignes les valeurs de A , de manière ensuite à faire le tri sur cette colonne mais tu peux parfaitement masquer cette colonne B
Modifie alors ta macro ainsi :
Private Sub CommandButton1_Click() M = ComboBox1.Value Compt = Sheets("FEUIL1").Range("B" & Rows.Count).End(xlUp).Row With Sheets("FEUIL1") .Range("A" & Compt + 1).Value = Me.ComboBox1.Value .Range("B" & Compt + 1).Value = Me.ComboBox1.Value .Range("B" & Compt + 2).Value = Me.ComboBox1.Value .Range("A" & Compt + 1).Borders(xlEdgeLeft).LineStyle = xlContinuous .Range("A" & Compt + 1).Borders(xlEdgeLeft).Weight = xlThin .Range("A" & Compt + 1).Borders(xlEdgeTop).LineStyle = xlContinuous .Range("A" & Compt + 1).Borders(xlEdgeTop).Weight = xlThin .Range("A" & Compt + 1).Borders(xlEdgeBottom).LineStyle = xlContinuous .Range("A" & Compt + 1).Borders(xlEdgeBottom).LineStyle = xlThin .Range("A" & Compt + 1).Borders(xlEdgeRight).LineStyle = xlContinuous .Range("A" & Compt + 1).Borders(xlEdgeRight).Weight = xlThin .Range("A" & Compt + 2).Value = "" .Range("A" & Compt + 2).Borders(xlEdgeLeft).LineStyle = xlContinuous .Range("A" & Compt + 2).Borders(xlEdgeLeft).Weight = xlThin .Range("A" & Compt + 2).Borders(xlEdgeTop).LineStyle = xlContinuous .Range("A" & Compt + 2).Borders(xlEdgeTop).Weight = xlThin .Range("A" & Compt + 2).Borders(xlEdgeBottom).LineStyle = xlContinuous .Range("A" & Compt + 2).Borders(xlEdgeBottom).LineStyle = xlThin .Range("A" & Compt + 2).Borders(xlEdgeRight).LineStyle = xlContinuous .Range("A" & Compt + 2).Borders(xlEdgeRight).Weight = xlThin .Range("A" & Compt + 3).Value = "" .Range("A" & Compt + 3).Borders(xlEdgeLeft).LineStyle = xlContinuous .Range("A" & Compt + 3).Borders(xlEdgeLeft).Weight = xlThin .Range("A" & Compt + 3).Borders(xlEdgeTop).LineStyle = xlContinuous .Range("A" & Compt + 3).Borders(xlEdgeTop).Weight = xlThin .Range("A" & Compt + 3).Borders(xlEdgeBottom).LineStyle = xlContinuous .Range("A" & Compt + 3).Borders(xlEdgeBottom).LineStyle = xlThin .Range("A" & Compt + 3).Borders(xlEdgeRight).LineStyle = xlContinuous .Range("A" & Compt + 3).Borders(xlEdgeRight).Weight = xlThin Columns("A:B").Select ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2:B1000" _ ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Feuil1").Sort .SetRange Range("A1:B1000") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With maj_USER1 MsgBox "Enregistré" Me.ComboBox1.Value = "" End Sub
Ne pas oublier non plus de modifier la plage dans la macro RAZ pour effacer aussi la colonne B
Cdlmnt
Via
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
10 mars 2017 à 20:32
10 mars 2017 à 20:32
Option 1. la "ligne vide" reste toujours vide
http://www.cjoint.com/c/GCktDUuoDzg
Option 2. la "ligne vide" peut être remplie ou non à la main dans la feuille
http://www.cjoint.com/c/GCktFRU6PRg
Cdlmnt
http://www.cjoint.com/c/GCktDUuoDzg
Option 2. la "ligne vide" peut être remplie ou non à la main dans la feuille
http://www.cjoint.com/c/GCktFRU6PRg
Cdlmnt
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
10 mars 2017 à 21:54
10 mars 2017 à 21:54
Merci les gars , j'ai hate de tester vos propositions
Je reviens vers vous ...
Je reviens vers vous ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
13 mars 2017 à 14:28
13 mars 2017 à 14:28
Bonjour
Tous mes remerciements pour ces fichiers , vous répondez exactement à mes besoins .
Le fichier Option 1 de ccm81 me convient le plus .
Pour aller plus loin ; quelques soucis apparaissent
-Comment l'adapter si mes lignes débutent à la 12éme.
- Je voudrais fusionner la cellule vide et la cellule non vide ; pas de soucis . mais je n'arrive plus à appliquer un filtre en fonction des autres colonnes .
Je pense que c'est lié aux cellules fusionnées , y a t il un moyen de contourner?
ci joint un fichier exemple
https://mon-partage.fr/f/Rq72iS32/
merci beaucoup
Tous mes remerciements pour ces fichiers , vous répondez exactement à mes besoins .
Le fichier Option 1 de ccm81 me convient le plus .
Pour aller plus loin ; quelques soucis apparaissent
-Comment l'adapter si mes lignes débutent à la 12éme.
- Je voudrais fusionner la cellule vide et la cellule non vide ; pas de soucis . mais je n'arrive plus à appliquer un filtre en fonction des autres colonnes .
Je pense que c'est lié aux cellules fusionnées , y a t il un moyen de contourner?
ci joint un fichier exemple
https://mon-partage.fr/f/Rq72iS32/
merci beaucoup
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
15 mars 2017 à 04:51
15 mars 2017 à 04:51
Bonjour
Apres plusieurs tests , j'abandonne les cellules fusionnées ( problématiques)
du coup je voudrais modifier le merveilleux code de ccm81 au niveau du tri
en fait , dans mon projet les données sont inscrites à partie de la cellule F12
mais le tri s'applique sur toute la colonne F.
Comment appliquer le tri qu'a partir de f12
merci beaucoup
Apres plusieurs tests , j'abandonne les cellules fusionnées ( problématiques)
du coup je voudrais modifier le merveilleux code de ccm81 au niveau du tri
en fait , dans mon projet les données sont inscrites à partie de la cellule F12
mais le tri s'applique sur toute la colonne F.
Comment appliquer le tri qu'a partir de f12
Option Explicit
Private Sub CommandButton1_Click()
Dim M As String, lifin As Long, k As Long, t(), n As Long
Application.ScreenUpdating = False
M = Me.ComboBox1.Value
With Sheets("FEUIL1")
lifin = .Range("F" & Rows.Count).End(xlUp).Row
If lifin Mod 2 = 0 Then lifin = lifin + 1
.Range("F" & lifin + 1).Value = M
.Range("F" & lifin + 1).Borders.LineStyle = xlContinuous
.Range("F" & lifin + 2).Borders.LineStyle = xlContinuous
.Range("F" & lifin + 2).Borders.Weight = xlThin
n = (lifin + 1) \ 2
ReDim t(1 To n, 1 To 2)
For k = 1 To n
t(k, 1) = Range("F" & 2 * k).Value
t(k, 2) = Range("F" & 2 * k + 1).Value
Next k
Call TriSel(t, 1)
For k = 1 To n
Range("F" & 2 * k).Value = t(k, 1)
Range("F" & 2 * k + 1).Value = t(k, 2)
Next k
End With
maj_USER1
MsgBox "Enregistré"
Me.ComboBox1.Value = ""
Application.ScreenUpdating = True
End Sub
Public Sub TriSel(ByRef t, ByVal cle As Long)
Dim lideb As Long, lifin As Long, codeb As Long, cofin As Long
Dim i As Long, j As Long, rangmini As Long, aux, k As Long
lifin = UBound(t, 1)
cofin = UBound(t, 2)
lideb = LBound(t, 1)
codeb = LBound(t, 2)
If cle > cofin Then Exit Sub
For i = lideb To lifin - 1
rangmini = i
For j = i To lifin
If t(j, cle) < t(rangmini, cle) Then rangmini = j
Next j
For k = codeb To cofin
aux = t(i, k)
t(i, k) = t(rangmini, k)
t(rangmini, k) = aux
Next k
Next i
End Sub
merci beaucoup
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
15 mars 2017 à 18:40
15 mars 2017 à 18:40
Peux tu envoyer un bout de ton fichier, dans ton dernier envoi, il y avait 3 colonnes au lieu de deux, ça change pas mal de choses.
Cdlmnt
Cdlmnt
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
15 mars 2017 à 21:38
15 mars 2017 à 21:38
Bonsoir ccm81
J'étais lancée dans la réalisation du tri en utilisant la méthode de via55 a savoir la création d'une colonne supplémentaire et y effectuer le tri
Du coup je te confie le bébé à tes bons soins
https://mon-partage.fr/f/QFEtdUDe/
merci énormément
J'étais lancée dans la réalisation du tri en utilisant la méthode de via55 a savoir la création d'une colonne supplémentaire et y effectuer le tri
Du coup je te confie le bébé à tes bons soins
https://mon-partage.fr/f/QFEtdUDe/
merci énormément
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
16 mars 2017 à 14:21
16 mars 2017 à 14:21
Voilà pour la mise à jour de l’enregistrement des données colonne F
https://www.cjoint.com/c/GCqntlisTtg
Cdlmnt
https://www.cjoint.com/c/GCqntlisTtg
Cdlmnt
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
16 mars 2017 à 20:54
16 mars 2017 à 20:54
Bonsoir ccm81
Juste une chose à dire. MERCI
J'avoue que c'était un peu laborieux de ma part mais bravo , tu as répondu exactement à mon souhait.
Merci
Juste une chose à dire. MERCI
J'avoue que c'était un peu laborieux de ma part mais bravo , tu as répondu exactement à mon souhait.
Merci