Répéter la dernière valeur remplie

Signaler
Messages postés
1
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
15 octobre 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,

J'ai un fichier qui comporte un certain nombre de cellules vides en colonne A.
Je souhaite répéter dans chaque cellule vide la valeur de la dernière ligne remplie.

Exemple:

Avant macro:

Ligne 1: "Texte1"
Ligne 2: " "
Ligne 3: " "
Ligne 4: "Texte2"
Ligne 2: " "
Ligne 3: " "

etc..

Après macro:

Ligne 1: "Texte1"
Ligne 2: "Texte1"
Ligne 3: "Texte1"
Ligne 4: "Texte2"
Ligne 2: "Texte2"
Ligne 3: "Texte2"

etc..

Le nombre de lignes vide est variable.

J'ai bien essayé avec des formules (du genre RECHERCHE("zzz";A:A)) mais évidemment excel me renvoie systématiquement la dernière valeur remplie de la colonne.

Quelqu'un a une idée?
Merci d'avance pour vos propositions.

3 réponses

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
As-tu essayer une formule du genre :
RECHERCHE("zzz";$A$1:$A4))
pour la cellule A5 ?

Sinon, as-tu essayer quelque chose en VBA ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour,
cela ressemble trop à un exercice scolaire (trop simple en plus ...) !
Je vais donc me contenter de te répondre ainsi, sans écrire d'emblée ce code ultra-facile :
La plage des cellules non remplies est celle que te permet de déterminer la méthode specialcells avec son paramètre xlCellTypeBlanks
cette plage est elle-même composée d'areas, composée de plusieurs cellules de la plage en cause
Chacune de ces cellules devra dont se voir affecter la valeur de la cellule précédant immédiatement l'area concernée.(utilisation de OffSet).
C'est vraiment tout (trop) simple et s'écrit en ...QUATRE lignes de code !
Je ne continuerai qu'après avoir vu ce que tu as écrit sur ces bases claires et si tu es encore en difficulté.
Ne reviens vers moi qu'après cet effort.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Et on peut même le faire avec TROIS seules toutes petites lignes de code (et encore ... en comptant la ligne For et la ligne Next de la boucle à écrire), sans même utiliser la collection areas !
Je viens (j'ai voulu tester ce que je disais, bien que non nécessaire) de mettre en application mes deux suggestions ===>> sans faille, ni l'une, ni l'autre ...