Positionnement alterné sur ligne paire et impaire
m.speciel
Messages postés
1
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je viens solliciter votre aide sur un soucis que j'ai pour organiser une feuille excel 2016:
En effet je doit positionner des lignes contenant des informations sur des lignes paires ou impaires suivant un caractère comme condition:
Les lignes contenant le caractère D dans la colonne B doivent se positionner sur les lignes impaires et les lignes ne contenant pas le caractère D sur les lignes paires.
Mais il faut aussi que si il n'y a plus que des lignes sans caractère D (ou avec) qu'elles se mettent a la suite du reste sans lignes vides.
Un exemple fait "a la main " pour illustrer mon propos.
Feuille de départ

Résultat attendu

Merci d'avance pour votre aide
Je viens solliciter votre aide sur un soucis que j'ai pour organiser une feuille excel 2016:
En effet je doit positionner des lignes contenant des informations sur des lignes paires ou impaires suivant un caractère comme condition:
Les lignes contenant le caractère D dans la colonne B doivent se positionner sur les lignes impaires et les lignes ne contenant pas le caractère D sur les lignes paires.
Mais il faut aussi que si il n'y a plus que des lignes sans caractère D (ou avec) qu'elles se mettent a la suite du reste sans lignes vides.
Un exemple fait "a la main " pour illustrer mon propos.
Feuille de départ
Résultat attendu
Merci d'avance pour votre aide
A voir également:
- Positionnement alterné sur ligne paire et impaire
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Apparaitre hors ligne instagram - Guide
- Gps hors ligne - Guide
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
bonjour, suggestion (speco étant la feuille de départ, specn la feuille de destination):
Option Explicit
Private Sub specpi()
Dim sho As Worksheet, shn As Worksheet
Dim lcur As Long, nextD As Long, nextO As Long
Set sho = ThisWorkbook.Sheets("speco")
Set shn = ThisWorkbook.Sheets("specn")
lcur = 2
nextD = getnext(sho, 1, True)
nextO = getnext(sho, 1, False)
Do While nextD <> 0 Or nextO <> 0
If nextD = 0 Then
sho.Rows(nextO).Copy shn.Rows(lcur)
nextO = getnext(sho, nextO, False)
Else
If nextO = 0 Then
sho.Rows(nextD).Copy shn.Rows(lcur)
nextD = getnext(sho, nextD, True)
Else
If lcur Mod 2 = 0 Then
sho.Rows(nextO).Copy shn.Rows(lcur)
nextO = getnext(sho, nextO, False)
Else
sho.Rows(nextD).Copy shn.Rows(lcur)
nextD = getnext(sho, nextD, True)
End If
End If
End If
lcur = lcur + 1
Loop
End Sub
Private Function getnext(sh As Worksheet, lig As Long, D As Boolean) As Long
getnext = lig + 1
Do While (sh.Cells(getnext, 1) <> "") And (InStr(sh.Cells(getnext, 2), "D") > 0) <> D
getnext = getnext + 1
Loop
If sh.Cells(getnext, 1) = "" Then
getnext = 0
End If
End Function
Bonjour
Plutôt qu'une image, peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
Cdlmnt
Plutôt qu'une image, peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
Cdlmnt