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

XL 2016 Macro : Etirer cellule vers le bas

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 !

Laurentb974

XLDnaute Nouveau
Bonjour à tous,
Chaque jour, j'édite une feuille excel que je compare avec la veille. J'ai donc de nouvelles lignes qui apparaissent en plus chaque jour.
Sur la colonne A apparaît le nom de la classe. 301, des cases vides puis 302 ( je mets le fichier en PJ ).
Je voudrais essayer une macro qui réalise la chose suivante ( je suis désolé, je débute avec Excel ) : à chaque fois que tu rencontre une donnée, étire cette donnée jusque la prochaine donnée.
Est-ce que cela vous paraît possible ?
Je vous remercie.
Bien à vous,
Laurent
 

Pièces jointes

Bonjour Laurent, bonjour le forum,
Peut-être comme ça :

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row - 1 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
TV = O.Range("A2:A" & DL) 'définit le tableau des valeurs TV
For I = 2 To UBound(TV, 1) 'boucles sur toutes les lignes du tableau des valeurs TV
  If TV(I, 1) = "" Then TV(I, 1) = TV(I - 1, 1)
Next I 'prochaine ligne de la boucle
'renvoie dans F5 redimensionnée de l'onglet O le tableau TL transposé
O.Range("A2").Resize(DL - 1, 1).Value = TV
End Sub[\code]
 
Bonjour
Salut à Robert 😉

On peut aussi faire via la touche F5 :
  • sélectionner la première colonne du tableau
  • F5, cellules, cellules vides
  • Taper =A24 dans la barre de formule et valider par CTRL Entrée,
  • puis CTRL C et collage spécial valeur
 
Bonjour Chris,
Je n'ai pas réussi à réaliser ce que tu proposes.
Est-ce que "=A24" signifie qu'il va remplir les cases vides par la valeur de la A24 ?
Parce que je ne cherche pas tout à fait cela. Il est possible qu'il doive insérer la valeur A24 jusque A39 puis une autre valeur en A40 qui devra continuer jusque A67 par exemple, etc.
Merci ;-)
 
re,

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row - 1 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
TV = O.Range("A2:A" & DL) 'définit le tableau des valeurs TV
For I = 2 To UBound(TV, 1) 'boucles sur toutes les lignes du tableau des valeurs TV
  If TV(I, 1) = "" Then TV(I, 1) = TV(I - 1, 1)
Next I 'prochaine ligne de la boucle
'renvoie dans F5 redimensionnée de l'onglet O le tableau TL transposé
O.Range("A2").Resize(DL - 1, 1).Value = TV
End Sub
 
re
Non dans ton exemple la première cellule à remplir est A25 donc cela dit "si c'est vide (puisque F5 a sélectionner les vides, prendre la cellule d'au-dessus" : c'est donc dynamique car A25 contient A24 mais A26 contient A25 et quand il arrive à A40 il prend donc A39

C'est de la simple logique de calcul Excel : il n'y a pas de $ dans la formule donc ce n'est pas une adresse absolue ($A$24) mais bien relative A24...

Si tu n'as pas réussi, c'est que tu as mal effectué une des étapes décrites...
 
Waou ! Ah oui quand même !
Je n'ai même pas le temps de terminer autre chose que vous avez déjà répondu !!!
La solution de Robert fonctionne, c'est magique ! ;-).
Elle est évidemment un peu obscure pour mon niveau, mais je trouve ça inspirant !
Je n'ai pas encore essayé la solution de Chris. Je vais m'y pencher pour essayer de comprendre ce qu'il ne va pas.
Merci beaucoup !
Laurent
 
- 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

Réponses
4
Affichages
439
Réponses
6
Affichages
559
Réponses
20
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…