Récupérer dates renseignées et les coller à la suite

  • Initiateur de la discussion Initiateur de la discussion Shyro
  • 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 !

S

Shyro

Guest
Bonjour,

J'ai 2 colonnes. Dans la colonne A les dates du 1 au 31. Dans la B des valeurs en face de certaines dates. Certaines cellules de la colonne B sont vides.
Je souhaiterai récupérer les dates pour lesquelles il y a une valeur inscrite en colonne B et les coller sous forme de colonne à un autre endroit sur la même feuille.

Je joint un fichier exemple.

J'ai fait plusieurs tests avec ou sans macro sans succés... Mes différentes recherches sur internet n'ont pas aboutit.

Quelqu'un peut-il m'aider à réaliser cette action?

Merci d'avance
 

Pièces jointes

Re : Récupérer dates renseignées et les coller à la suite

Bonjour Shyro, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1""
    For Each cel In .Range("A1:A" & .Cells(Application.Rows.Count, 1).End(xlUp).Row) 'boucle sur toutes les cellules éditées cel de la colonne A
        If cel.Offset(0, 1).Value <> "" Then 'condition : si la cellule en colonne B n'est pas vide
            'définit la cellule de destination (D1, si D1 est vide, sinon, la première cellule vide de la colonne D)
            Set dest = IIf(.Range("D1").Value = "", .Range("D1"), .Cells(Application.Rows.Count, 4).End(xlUp).Offset(1, 0))
            cel.Copy dest 'copie la cellule et la colle dans dest
        End If 'fin de la condition
    Next cel 'prochaine cellule de la boucle
End With 'fin de la prise en comtre de l'onglet "Feuil1"
End Sub
Le Fichier :


[Édition]
Bonjour Philippe on s'est croisé
 

Pièces jointes

Dernière édition:
Re : Récupérer dates renseignées et les coller à la suite

Salut,
par formule :
Code:
=SI(LIGNES($1:1)<=NBVAL($B$1:$B$31);INDEX($A$1:$A$31;PETITE.VALEUR(SI($B$1:$B$31<>"";LIGNE(INDIRECT("1:"&LIGNES($B$1:$B$31))));LIGNES($1:1)));"")
@ valider par Ctrl+Maj+Entree
@ recopier vers le bas
@ +
@ Rachid
 
Merci beaucoup pour vos réponses ultra rapides!

@phlaurent55
Je n'ai pas réussi à ouvrir votre classeur (il y avait un code bizare). Peut-être parceque je travaille sur Excel 2003 chez mon employeur. Merci quand même.

Merci Robert et Rachid. J'ai maintenant 2 choix et je vais voir quelle est la meilleur solution pour mon projet.

Merci encore, sujet résolu.

Shyro
 
- 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

S
Réponses
29
Affichages
2 K
StanislasC
S
A
Réponses
8
Affichages
2 K
AlexAGEMS
A
J
Réponses
16
Affichages
3 K
J
R
Réponses
2
Affichages
924
RAPHOUPHOU
R
D
Réponses
0
Affichages
954
dom29
D
Retour