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

Modification macro simple

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

K

kakemphaton

Guest
Bonjour,

Je rencontre un problème lors de la personnalisation d'une macro. Je viens de faire un enregistrement de macro (avec l'enregistreur), cependant, cela ne rend pas les données "réutilisables".
Code:
Sub voirie()
    ActiveCell.FormulaR1C1 = "toto"
    Range("T3135").Select
    Selection.AutoFill Destination:=Range("T3135:T3748")
    Range("T3135:T3748").Select
End Sub

Je souhaite remplir la colonne T2 de mon fichier Excel automatiquement avec le mot toto pour les cellules vides. La macro doit commencer à la première ligne vide de la colonne T jusqu'à la dernière ligne remplie de la feuille. J'aimerais donc, ajouter un .End(xlUp).Row (je pense à cela pour dire d'aller jusqu'à la fin) et aussi remplacer le activecell par (la première ligne vide). Sinon, Excel, ne continue pas à ajouter le mot toto, car les lignes sont après la 3748.

Merci bien
 
Re : Modification macro simple

Bonjour kakemphaton,

Tu peux tester :

VB:
Sub voirie()
  Dim c as Range
  Set c= range("T1")
  If Range("T2")="" Then Set c=c.end(xlDown)
  c.Formula = "Toto"
  c.AutoFill Destination:=Range(c, Range("T65536").end(xlUp))
end Sub
 
Dernière édition:
Re : Modification macro simple

Bonjour,

merci bien, mais j'obtiens une erreur sur la ligne "c.AutoFill Destination:=Range(c, Range("T65536").End(xlUp))", voici le doc en PJ. Je ne vois pas très bien ce qu'il faut modifier

Merci
 

Pièces jointes

Re : Modification macro simple

Bonjour kakemphaton,

J'ai testé la macro chez moi, cela fonctionne. Je ne peux regarder ton fichier, étant sous excel 2003. Essaie p-e de préciser le nom de la feuille comme ceci :

Code:
Sub voirie()
  Dim c as Range
  Set c= Feuil1.range("T1")
  If Feuil1.Range("T2")="" Then Set c=c.end(xlDown)
  c.Formula = "Toto"
  c.AutoFill Destination:=Range(c, Feuil1.Range("T65536").end(xlUp))
end Sub
 
Re : Modification macro simple

Bonjour à tous

Une autre approche
Code:
Sub voierie_bis()
Dim plg As Range
'Set plg = Range(Cells(1, "T"), Cells(65536, "T"))
Set plg = Columns(20)
    With plg
        With .SpecialCells(xlCellTypeBlanks)
            .Value = "toto"
        End With
    End With
End Sub
 
Re : Modification macro simple

Merci bien, le petit hic, il m'ajoute bien Toto, mais, il commence de la dernière celulle et remonte pour modifier toutes les données du dessus de la colonne, au lieu de compléter les cellules vides du dessous sans modifier ce qu'il y a au dessus.

merci d'avance Softmama
 
Re : Modification macro simple

Re, Bonjour Staple1600,

Je viens de me rendre compte en regardant la solution proposée par Staple1600, qu'effectivement, j'avais pas compris correctement ta demande : je croyais que tu souhaitais que toutes les cellules déjà remplies de la colonne T prenne la formule "Toto", et non pas les cellules vides sous tes données. Désolé héhé 🙂

Concernant ta demande, il me semble que Staple a du coup, à peu près répondu à ta demande, juste l'histoire de 'remplir colonne T jusqu'à la dernière ligne remplie de la feuille' qui est pas prise en compte : tu peux adapter son code comme ceci :

Code:
Sub voierie_bis()
Dim plg As Range
Set plg = Intersect(ActiveSheet.UsedRange, Columns(20))
    With plg
        With .SpecialCells(xlCellTypeBlanks)
            .Value = "toto"
        End With
    End With
End Sub

[EDIT] Ha ben, t'as déjà répondu à Staple ^^
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
597
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…