Répéter la dernière valeur remplie

Mbe75 Messages postés 1 Date d'inscription mardi 15 octobre 2013 Statut Membre Dernière intervention 15 octobre 2013 - 15 oct. 2013 à 12:36
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 15 oct. 2013 à 13:58
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

NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
15 oct. 2013 à 12:51
As-tu essayer une formule du genre :
RECHERCHE("zzz";$A$1:$A4))
pour la cellule A5 ?

Sinon, as-tu essayer quelque chose en VBA ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 15/10/2013 à 13:19
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.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 oct. 2013 à 13:58
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 ...
0
Rejoignez-nous