HELP // Retraitement EXCEL
Fermé
Inconnu-75486
-
24 oct. 2019 à 11:46
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 24 oct. 2019 à 21:23
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 24 oct. 2019 à 21:23
A voir également:
- HELP // Retraitement EXCEL
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
1 réponse
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
24 oct. 2019 à 12:50
24 oct. 2019 à 12:50
Bonjour,
Par exemple :
Par exemple :
Option Explicit Sub Retraitement() Dim f As Worksheet Dim c As Range Dim v As Variant Dim t As String Dim d As Long Dim n As Long Set f = ThisWorkbook.Worksheets("Importation") ' à adapter With f Set c = .Range("B1") d = .Cells(.Rows.Count, "A").End(xlUp).Row For n = 1 To d v = .Cells(n, "A").Value If TypeName(v) = "String" Then t = v ElseIf TypeName(v) = "Date" Then c.Value = t c.Offset(0, 1).Value = v Set c = c.Offset(1) End If Next n .Columns(1).Delete End With End Sub
24 oct. 2019 à 16:40
Je vais tester ta proposition.
Je te fais un retour bientôt.
Bonne journée Patrice !
24 oct. 2019 à 16:46
Je viens de tester, j'ai l'impression que ça fonctionne lol. Je vais essayer d'exporter le document et de tester la formule.
Ça t’embêterait de m'expliquer un peu comment tu as fait afin que je suis puisse comprendre le fonctionne et reproduire ce genre de formule.
Merci encore !
Bonne fin de journée,
24 oct. 2019 à 21:23
d, c'est la dernière ligne de la colonne A qui contient une valeur.
c, c'est la cellule de destination du résultat (B1 pour commencer)
J'analyse la valeur (v) de chaque cellule de la colonne A de 1 à d
Si c'est une chaine je la mémorise (dans t)
Si c'est une date :
- j'écris t (le texte) en c (destination) et
- j'écris la date (v) dans la cellule à droite de c [c.offset(0,1)]
- je définis la cellule c en dessous du c actuel comme nouvelle destination (destination suivante)
Quand toutes les lignes sont analysées, je supprime la première colonne (A)