Modification macro simple

kakemphaton

XLDnaute Junior
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
 

Softmama

XLDnaute Accro
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:

kakemphaton

XLDnaute Junior
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

  • Exemple.xlsm
    19.2 KB · Affichages: 49
  • Exemple.xlsm
    19.2 KB · Affichages: 57
  • Exemple.xlsm
    19.2 KB · Affichages: 50

Softmama

XLDnaute Accro
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
 

kakemphaton

XLDnaute Junior
Re : Modification macro simple

Bonjour Softmama,

Merci bien, mais, j'ai le même problème, voici un document Excel compatible version inférieure 2007.

Merci bien
 

Pièces jointes

  • Exemple.xls
    38 KB · Affichages: 41
  • Exemple.xls
    38 KB · Affichages: 41
  • Exemple.xls
    38 KB · Affichages: 43

Staple1600

XLDnaute Barbatruc
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
 

kakemphaton

XLDnaute Junior
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
 

Softmama

XLDnaute Accro
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 ^^
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 925
Membres
103 984
dernier inscrit
maliko67