Copier prochaine valeur non vide

Bonjour à tous !

j'aurai besoin de votre expertise s'il vous plait !

j'ai un fichier excel avec une colonne cellules vides et non vides ou je souhaiterai remplir les cellules vides avec les données des cellules non vides :

Résultat

Colonne A Colonne B -----> Colonne A Colonne B

A1 (Vide) (Vide) Pomme Pomme

A2 (Vide) Pomme Pomme Pomme

A3 (Vide) Cerise Cerise Cerise

A4 (Vide) (Vide) Pêche Pêche

A5 (Vide) (Vide) Pêche Pêche

A6 (Vide) Pêche Pêche Pêche

A100 (Vide) Pêche Pêche Pêche

voici un exemple du résultat que je souhaite avoir, pouvez vous m'aider ?

Merci beaucoup !

j'ai testé une formule en collant en colonne A:

=IFNA(IF(ISBLANK(B2);"";INDEX(B3:$B$100;MATCH(FALSE;ISBLANK($B3:B$100);0)));"")

sans sucés et je coince

bonjou

joins un vrai fichier et non du texte

cependant on ne peut pas superposer une formule et de la saisie dans la même cellule

il faudra ruser !

et ici il y a des Zorro !

Effectivement, avec un fichier c'est mieux !

10excel-forum.xlsx (10.65 Ko)

Bonjour NAUF13,

je te propose ce fichier Excel (fait selon ton énoncé initial) :

8exo-nauf013.xlsm (13.56 Ko)

Ctrl e ➯ travail effectué !

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

@NAUF13

ah ben dis-donc, j'en reviens pas ! y'a pas 5 minutes t'étais dans les fruits & légumes et tu t'es d'jà recyclé dans les pièces détachées & emballages ? ben t'as fait une reconversion ultra-rapide !!!

je te retourne ton fichier modifié :

10excel-forum.xlsm (15.56 Ko)

même utilisation : Ctrl e ➯ travail effectué !

dhany h-animaux37

haha quand on dit qu'il y 'a du boulot ! du fruits aux outils

@NAUF13

ah ben dis-donc, j'en reviens pas ! y'a pas 5 minutes t'étais dans les fruits & légumes et tu t'es d'jà recyclé dans les pièces détachées & emballages ? ben t'as fait une reconversion ultra-rapide !!!

je te retourne ton fichier modifié :

Excel forum.xlsm

même utilisation : Ctrl e ➯ travail effectué !

dhany h-animaux37

Merci beaucoup !! ca fonctionne parfaitement

merci pour ton retour ! bonne continuation !

dhany

Si je souhaite adopter cette formule sur une colonne spécifique et pas forcément la colonne B, je peux rajouter une commande "ActiveCell.Column"?

Sub Essai()

Dim dlig&, lig&, chn$: Application.ScreenUpdating = 0

dlig = Cells(Rows.Count, 2).End(xlUp).Row

For lig = dlig To 2 Step -1

With Cells(lig, 2)

If .Value <> "" Then chn = .Value

If .Offset(, 1) = "" Then .Offset(, -1) = chn

If .Value = "" Then .Value = chn

End With

Next lig

End Sub

je mets ici mon code VBA, avec une petite optimisation en plus :

Option Explicit

Sub Essai()
  Dim dlig&, lig&, chn$: Application.ScreenUpdating = 0
  dlig = Cells(Rows.Count, 2).End(xlUp).Row
  For lig = dlig To 2 Step -1
    With Cells(lig, 2)
      If .Value <> "" Then chn = .Value Else .Value = chn
      If .Offset(, -1) = "" Then .Offset(, -1) = chn
    End With
  Next lig
End Sub

l'intérieur du bloc With est en 2 lignes ; résultat identique.

dhany

on s'est croisés !

pour ta nouvelle demande, je te propose ce fichier :

3excel-forum.xlsm (15.71 Ko)

ATTENTION

1) avant de lancer la macro par Ctrl e, ne pas oublier de sélectionner une cellule de la colonne spécifique

(ici, c'est la colonne F ; cellule active : F34)

2) tu n'as pas parlé de l'autre colonne ! j'ai supposé qu'elle est toujours en 1ère colonne, donc en colonne A

mais si cette autre colonne est toujours 1 colonne à gauche de celle de la cellule active, faudra adapter !


mon code VBA intègre l'optimisation précédente :

Option Explicit

Sub Essai()
  Dim col%, dlig&, lig&, chn$: Application.ScreenUpdating = 0
  col = ActiveCell.Column: dlig = Cells(Rows.Count, col).End(xlUp).Row
  For lig = dlig To 2 Step -1
    With Cells(lig, col)
      If .Value <> "" Then chn = .Value Else .Value = chn
    End With
    If Cells(lig, 1) = "" Then Cells(lig, 1) = chn
  Next lig
End Sub

dhany

en fait l'autre colonne est accessoire vu que maintenant je peux copier les valeurs dans une même colonne

alors c'est ok ? si oui, donc sauf si tu as autre chose à demander, merci de passer le sujet en résolu.

dhany

j'ai créé un fichier ou je souhaiterai automatiser pas mal d’éléments dont ta macro :

il y'a 3 onglets:

un avec la donnée de base

un avec les formules intermédiaires que j'ai créé

un avec le résultat que j'obtiens avec mes formules et ta Macro VBA

Je pense que mes formules tienne la route (meme si peut etre compliqué ?) mais par contre niveau VBA....

Rechercher des sujets similaires à "copier prochaine valeur vide"