Remplir les vides d'une colonne

ufernet

XLDnaute Junior
Bonjour,

J'ai besoin d'une macro qui va remplir les cellules vides d'une colonne avec le texte figurant dans cette même colonne. Je ne vois même pas par où commencer! Ci joint un exemple dans lequel la colonne A devient la colonne D. Sachant que la colonne A est produite par une fonction si et que ce qui parait vide ne l'est pas vraiment car provient, dans la formule si, de "" (je ne sais pas si c'est important!). Le nombre de catégories est toujours de 6 mais le nombre de ligne varie d'une fois sur l'autre. Cette macro s'integrera dans une autre macro. Merci de m'aider.
 

Pièces jointes

  • EXEMPLE.xlsx
    11.6 KB · Affichages: 56
  • EXEMPLE.xlsx
    11.6 KB · Affichages: 69
  • EXEMPLE.xlsx
    11.6 KB · Affichages: 68

CISCO

XLDnaute Barbatruc
Re : Remplir les vides d'une colonne

Bonjour

Tu peux peut être insérer la formule si dessous, à partir de la ligne 2, dans ta formule en SI
Code:
=SI(A2<>"";A2;SI(ET(LIGNE()<>2;A1<>"");A1;INDEX(A:A;MIN(SI(DECALER(A2;;;NBVAL(A:A))<>"";LIGNE(DECALER(A2;;;NBVAL(A:A))))))))
en matriciel, donc à valider avec Ctrl+maj+entrée.

@ plus
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Remplir les vides d'une colonne

Bonjour ufernet,

Un essai par macro:
VB:
Sub remplir()
Dim last, T(), i

last = Range("a" & Rows.Count).End(xlUp).Row
ReDim T(1 To 2, 0 To 0)
T(1, 0) = 1

For i = 2 To last
  If Cells(i, 1).Value <> "" Then
    ReDim Preserve T(1 To 2, 0 To 1 + UBound(T, 2))
    T(1, UBound(T, 2)) = i + 1
    T(2, UBound(T, 2)) = Cells(i, 1).Value
  End If
Next i

For i = 1 To UBound(T, 2)
  Range(Cells(T(1, i - 1) + 1, "a"), Cells(T(1, i), "a")) = T(2, i)
Next i

End Sub

nb: le décalage d'une ligne par rapport aux catégories de la colonne A a été reproduit. Si ce décalage ne doit pas exister remplacer T(1, UBound(T, 2)) = i + 1 par T(1, UBound(T, 2)) = i
 

Pièces jointes

  • Remplir les vides d'une colonne v2.xlsm
    21.8 KB · Affichages: 54
Dernière édition:

ufernet

XLDnaute Junior
Re : Remplir les vides d'une colonne

Bonjour cisco, piga25, mapomme,

Les trois solutions fonctionnent parfaitement comme cela j'ai le choix. Mais pour continuer la mise en place de ma macro la solution de mapomme est parfaite.

Merci à tous les trois
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 509
Membres
103 569
dernier inscrit
zeiffel976