| ||||||||
Nouvel astucien | Rebonjour à tous,
Le vba n'est pas mon [boom]fort mais le DOS [fete], bref
J'ai sur une ligne, une cellule ayant un nom "toto" pas un txt.
je voudrais par une macro :
Allez sur la cellule "toto"
si=vide en txt, action= del ligne ayant la cellule "toto"
Merçi
| |||||||
Publicité | ||||||||
Astucien | Slt
Voila une macro qui va à la cellule nommée "toto" et qui supprime ce qui ce trouve sur la ligne si la cellule "toto" est vide.
Sub supp_ligne()
Range("toto").Select
If ActiveCell = "" Then
ActiveCell.Offset(0, 0).Rows("1:1").EntireRow.Select
Selection.ClearContents
End If
End Sub
| |||||||
![]() | Salut sam², vl93,
moi j'y comprend comme ça :[code]Sub Test()
Range("toto").Select
If ActiveCell = "vide" Then Rows(ActiveCell.Row).Delete
End Sub[/code]
Note bien qu'il n'est pas nécessaire d'aller sur toto pour faire le boulot il suffit d'évaluer si toto = "vide". Dans ce cas :[code]Sub Galopin()
If Range("toto") = "vide" Then Rows(Range("toto").Row).Delete
End Sub[/code]A+ | |||||||
Astucien | Slt Galopin,
Moi, les macro, je connais pas très bien, je parts d'un macro que j'enregistre avec Exel, et je la modifie selon mes convenance, c'est pour ça qu'elle ne sont pas aussi bien faite que les tienne. Merci à toi pour tes solutions.
Pour le mode de suppression, je ne suis pas sûre de ce qui est demandé, moi je suis partie du principe, qu'il falais juste effacé le contenu de la ligne, maintenant il faut peut-être supprimer la ligne.... | |||||||
Nouvel astucien | Salut, Help me !!!
ex.:
Sub DelNotaTxtTva()
'suppression de la ligne ayant une cellule nommée "NotaTxtTva"
'
If Range("NotaTxtTva") = "vide" Then Rows(Range("NotaTxtTva").Row).Delete
End Sub
[bombe]je n'y arrive pas.
A + | |||||||
![]() | bonjour,
pas de problème sam², l'inconvénient est que notre ami vl93 n'a pas trop l'habitude du forum et parle le petit nèg' comme une vache landaise, ça n'aide pas à la compréhension.
Par-dessus le marché il a changé de topic alors on ne sait pas s'il a changé d'idée ou si c'est le même problème.
De plus comme sam², l'idée de la cellule nommée m'à vraiment fait partir dans une autre direction.
Cette dernière macro ne marche pas comme celles qu'on t'a donné sur l'autre topic.
La macro que tu as adaptée marche "sur ordre" c'est à dire si tu fais Outils/Macro/Exécuter
Si tu voulais que ta macro fonctionne quand la cellule change de valeur il faut mettre à la place :[code]Private Sub Worksheet_Change(ByVal Target As Range)
DelNotaTxtTva
End Sub
Sub DelNotaTxtTva()
On Error Resume Next
If Range("NotaTxtTva") = "vide" Then Rows(Range("NotaTxtTva").Row).Delete
End Sub[/code]Nota : Ces macros, c'est vraiment horrible, j'ai presque honte ! mais si ça peux te dépanner...
Conceptuellement ça parait presque absurde de supprimer une "cellule nommée" avec une macro évènementielle (parce que ça t'oblige à en recréer une autre du même nom...)
Enfin tout ça, c'est si j'ai bien compris...
A+ | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|