Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

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

sellig 29

XLDnaute Occasionnel
Bonjour,

Je souhaiterais "combler" les cellules d'une colonne par la valeur supérieure la plus proche. J'ai mis en pièce jointe des explications plus précises. La formule actuelle ne prend en compte uniquement le texte 🙁. Peut être existe t-il une solution via une macro?
Merci d'avance pour votre aide.
 

Pièces jointes

Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Salut,
En F3 = B3
En F4 = SI(ESTVIDE(B4);F3;B4) puis tirer la formule vers le bas.
Est-ce que tu attendais ???
Lolote83
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Oui c'est cela lolote83,ta formule est bien plus simple que la mienne et prend en compte tous les formats! 🙂 S'il existe l'équivalent en macro, je suis également preneur.
Merci
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour,
en A3 :
Code:
=SI(B3<>"";B3;DECALER(B$2;MAX(SI(B$3:B3<>"";LIGNE(INDIRECT("1:"&LIGNES(B$2:B2)))));))
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
Amicalement
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour,
S'il existe l'équivalent en macro, je suis également preneur.
par exemple (à adapter à ton cas) :
Code:
Sub test()
Dim i As Long
Cells(2, 4) = Cells(2, 2)
For i = 3 To 30
    If Cells(i, 2) = "" Then
        Cells(i, 4) = Cells(i - 1, 4)
    Else: Cells(i, 4) = Cells(i, 2)
        End If
    Next i
End Sub

Plus concis mais moins rapide sur des plages importantes :
Code:
Sub test2()
Dim i As Long
Cells(2, 4) = Cells(2, 2)
For i = 3 To 30
Cells(i, 4) = IIf(Cells(i, 2) = "", Cells(i - 1, 4), Cells(i, 2))
    Next i
End Sub
A+
 
Dernière édition:
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour Rachid,
La formule de lolote83 m'apparait plus simple mais la tienne (matricielle) fonctionne également très bien! 🙂
Avec tous mes remerciements
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour à tous,

autre approche vba :
Code:
On Error Resume Next
With Range("B3:B30")
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
End With
On Error GoTo 0

bon après midi
@+
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour à tous,
La macro de Pierrot93 fonctionnait parfaitement (celle de David84 aussi), j'ai collé une valeur colonne B qui ne se reporte pas dans les 2 cellules du dessous? Comme si elles contenaient das valeurs? alors qu'elles sont vides?
Pouvez vous m'apporter une solution
D'avance merci
 

Pièces jointes

Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour,
La macro de Pierrot93 fonctionnait parfaitement (celle de David84 aussi), j'ai collé une valeur colonne B qui ne se reporte pas dans les 2 cellules du dessous? Comme si elles contenaient das valeurs? alors qu'elles sont vides?
Ces cellules ne sont pas vides : elles contiennent des espaces. Enlève-les et cela fonctionne.
A+
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

OK pour la cause, mais serait-il possible d'intégrer dans la macro une fonction qui supprimerait les éventuels espace avant l'exécution de la macro pour le repport des valeurs?
Je me sers de cette fonctionnalité dans mon travail, parfois je colle des centaines de valeurs dans la colonne issues d'un autre fichier, certaines cellules ont manifestement des espaces, j'ignore pourquoi?😕 Ca m'éviterait de supprimer cellule par cellule toute les cellules ayant un espace (cela pourrait être long)
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour sellig, David🙂

essaye peut être de convertir au préalable la colonne en question avec la méthode "TextToColumns". une petite recher dans l'aide vba et ou le forum t'en dira un peu plus...

bonne journée
@+
 
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Bonjour à tous,

Peux-tu essayer ceci :

VB:
On Error Resume Next
    With Range("B3:B30")
        .Replace What:=" ", Replacement:=""
        .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Value = .Value
    End With
    On Error GoTo 0

A + à tous

Edition : Salut Pierrot, David et Rachid
 
Dernière édition:
Re : Combler les cellules vides d'une colonne par la valeur immédiatement supérieure

Merci JCGL, impeccable! 😀
Pierrot, je n'ai pas eu le temps de chercher beaucoup mais me donner ainsi la bonne direction est également une aide pour progresser😱 et j'en ai bien besoin......
Bon dimanche (Pour une fois pluvieux dans le finistère... )
Gilles
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…