Exporter les valeurs d'une colonne sans les celulles vides

Bonjour,

L'un d'entre vous à déjà permis de résoudre la plus grosse partie de mon problème. Maintenant il reste la seconde mais qui à mon avis sera moins compliqué.

Tout est dans le titre et je vous joint un exemple avec l'attendu que je souhaite avoir (j'ai recopié les donnés en dur pour l'exemple).

Merci de votre aide.

9exemple-2.xlsx (35.78 Ko)

Bonjour Novice, bonjour le forum,

Essaie comme ça :

Sub Macro1()
Dim D As Worksheet 'déclare la variable D (onglet Donnés) [Données] serait préférable !...
Dim R As Worksheet 'déclare la variable R (onglet Récap)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim NB As Integer 'déclare la variable NB (NomBre)
Dim TV() As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim J As Integer 'déclare la variable J (incrément)
Dim I As Integer 'déclare la variable I (Incrément)

Set D = Worksheets("Donnés") 'définit l'onglet D
Set R = Worksheets("Récap") 'définit l'onglet R
DL = D.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne B de l'onglet D
NB = Application.WorksheetFunction.CountA(D.Range("B6:B" & DL)) 'définit le nombre de valeurs dans la plage B6:B...
ReDim TV(1 To NB) 'redimensionne le tableau TV
J = 1 'initialise la varaible J
For I = 6 To DL 'boucle su toutes les lignes I de 6 à DL
    'si la cellule ligne I colonne B n'est pas vide récupère sa valeur dans l'index J du tableau TV, incrémente J
    If D.Cells(I, "B").Value <> "" Then TV(J) = D.Cells(I, 2): J = J + 1
Next I 'prochaine ligne de la boucle
R.Range("C8").Value = NB 'renvoie le nombre NB dans la cellule C8 de l'onglet R
R.Range("D8").Resize(NB, 1) = Application.Transpose(TV) 'renvoie le tableau TV transposé dans la cellule D8 redimensionnée de l'onglet R
End Sub
Rechercher des sujets similaires à "exporter valeurs colonne celulles vides"