OVH Cloud OVH Cloud

Effacement de données

8 réponses
Avatar
lolo
Bonjour =E0 tous

Voila j'ai un fichier avec 1 feuille contenant
en A1 reference
B1 designation
C1 date1
C2 date2

Cette feuille contient environ 5000 lignes et je voudrais cr=E9er une
macro me permettant d'effacer toutes ces donn=E9es et ne conserver que
ma premi=E8re ligne...

Pouvez vous m'aider ?

Merci beaucoup

A+

8 réponses

Avatar
CAP2
Salut,

on peut peut-être éviter le VBA...

Tu pars de ta cellule A2, et tu fais CTRL + Shift + Flèche droite et CTRL +
Shift + Flèche bas...

Puis tu appuies sur Suppr...

Ca marche ?

CAP2
Avatar
lolo
Salut

En fait je voulais faire ca en VBA car c'est un fichier qui se trouve
dans l'atelier et les gens ne connaisse pas beaucoup les pc...
Alors que si ils ont un bouton pour effacer je pense que ce sera plus
simple de leur expliquer..

Merci beaucoup

J'ai testé ta solution et ca fonctionne parfaitement

A+
Avatar
CAP2
Dans ce cas :

Private Sub CommandButton1_Click()
Dim ligne As Integer

Range("A65536").End(xlUp).Select

ligne = Selection.Row
Range("A2", "C" & ligne).Select

Selection.ClearContents

End Sub

En changeant C par la colonne qui va bien en fonction de la largeur de ton
tableau...

Ca marche ?

CAP2
Avatar
lolo
Ok merci beaucoup pour le code c'est impec...

Par contre si je veux que cette macro fonctionne sur une feuille bien
précise comment puis je faire avec le code pour demander le nom de ma
feuille
ici la feuille est nommée "évoluton"

Merki

A+
Avatar
CAP2
On va y arriver ;o))

Private Sub CommandButton1_Click()
Dim feuille As String
Dim ligne As Integer

feuille = InputBox("Sur quelle feuille aller ?", "Choix de la feuille")
Worksheets(feuille).Activate
ActiveSheet.Range("A65536").End(xlUp).Select

ligne = Selection.Row
ActiveSheet.Range("A2", "C" & ligne).Select

Selection.ClearContents

End Sub

Attention à ne pas se tromper dans l'écriture du nom de la feuille !!!

Ca marche ?

CAP2
Avatar
AV
Ca marche ?


Hum..hum...
Pas sur du tout que ça marche car en déclarant une variable ligne de type
"Integer", tu cours à l'erreur "dépassement de capacité"
Par ailleurs les "Select" ne rendent pas vraiment performant l'exécution...
Une seule ligne de code suffit largement ...

Range("A2", "C" & [A65536].end(3).row).ClearContents

C'était pour le smilblick...
AV

Avatar
CAP2
Salut AV,

en fait j'ai mis Integer parce que notre demandeur parlait d'environ 5000
lignes, mais je suis toujours preneur de tes avancées de Schmilblick ;o))

Ca marche ?

CAP2
Avatar
lolo
Salut à tous


Ok merci beaucoup pour votre aide ca fonctionne parfaitement

A+