Cela ne veut pas se supprimer

G

G'Claire

Guest
disk.gif
le forum

Voila, j'aimerai pouvoir effacer toutes les données dans un tableau.

Normalement je n'ai qu'a cliquer sur le bouton, cela me demande une confirmation et si je clique sur OK, cela aurais du m'effacer toute mes données, et bien non, qu'es-ce que je fait qui ne va pas.


Merci,
 

Pièces jointes

  • Classeur2.zip
    10.1 KB · Affichages: 27
  • Classeur2.zip
    10.1 KB · Affichages: 25
  • Classeur2.zip
    10.1 KB · Affichages: 27
G

G'Claire

Guest
@Thierry, Ch'ti Minick, Mytå et le Forum, bonsoir

Merci de vos réponse, mais en faite j'aimerai effacer juste les données.
J'ai utiliser le code sur dans UserForm cela fonctionne, sur un autre (Celui en pièce jointe)cela ne m'éfface rien et sur le troisième cela me mets :

erreur '1004' Impossible de modifier une cellule fusionnée

et cela surligne le bout de code

Range(Cells(2, 1), Cells(65536, 1)).ClearContents

Je n'arrive pas a voir pourquoi;

Merci a vous et bonne soirée du 14 juillet aux étincelles d'artifice.

G'Claire
 
@

@+Thierry

Guest
Re SAlut G'claire, le Fil, le Forum

Ben tu as déjà ta réponse dans le message d'erreur !!!

Impossible de modifier une cellule fusionnée

IL ne faut pas que tu aies de Merge cells dans ton tableau, soit tu scinde ta macro : (exemple la cellule fusionnée est A451)

Range(Cells(2, 1), Cells(450, 1)).ClearContents
Range(Cells(452, 1), Cells(65536, 1)).ClearContents
Range (Cells(451,1).ClearContents

Soit tu vires les cellules fusionnées !!!

Bonne nuit
@+Thierry
 
G

G'Claire

Guest
@Thierry et le forum


Merci, @Thierry

Bon, sur une feuille seule cela fonctionne

Sur le fichier de mon application (Gestion des ballets) je n'ai plus l'erreur de départ (J'ouvrai un feuille en même temps que le UseForm qui elle avait une s cellules fusionnées au milieu de la feuille), le userForm utilisé est celui que tu as fait pour les contacts (USF_ThierrysContact) dans lequel je voulais mettre un bouton pour supprimer tous les contacs (Un néttoyage de la base de données en quelque sorte), mais cela ne m'éfface rien.

Es-ce qu'il y a quelque-chose de particulier a penser dans ton fichier, par rapport a l'essaie sur une feuille ou il y a juste les données sans l'UserForm?

Merci, G'Claire
 
@

@+Thierry

Guest
Salut G'claire, le Fil, le Forum

Arf, je ne peux dire comme çà sans savoir ce que tu as fais de cette démo...

Ce que je peux confirmer :

1) En n'utilise jamais de cellule fusionnée dans des feuilles étant destinées à être manipulées pas macro (énorme souci en moins)

2) En général, dans toutes mes démos, la feuille dite "Database" ne contient rien de spécial qui serait susceptible de poser problème pour y faire un nettoyage par macro. Ce sont simplement des feuilles où les données sont listées proprement avec un "heading de colonne" c'est tout.

Sans mettre mon nez dans ton bazard, je pense que tout simplement il te manque la référence de la feuille à nettoyer... Car si aucune feuille n'est précisée dans le code, c'est par défaut la feuille active qui sera traitée par des codes VBA depuis un UserForm...

Juste à titre d'exemple voici deux moyens de nettoyer une feuille parmis la masse des feuilles d'un classeur :

Sub TestClearSheetIndex()
Dim I As Byte, X As Byte
X = Sheets.Count
I = InputBox("taper un nombre de 1 à : " & X)
Sheets(I).Range("A2:X65536").ClearContents
End Sub


Ou encore (avec un Test en prime sur le nom de la feuille) :

Sub TestClearSheetName()
Dim WSname As String, X As Byte, Test As Byte
WSname = InputBox("taper le nom d'un feuille")
For X = 1 To Sheets.Count
If Sheets(X).Name = WSname Then
Sheets(X).Range("A2:X65536").ClearContents
Test = Test + 1
End If
Next

If Test = 0 Then MsgBox "Par de feuille au nom de : " & WSname
End Sub


Voilà G'claire, à toi maintenant de savoir adapter tout çà

Bonne Journée
@+Thierry
 
G

G'Claire

Guest
@Thierry, le forum bonjour

@Thierry, merci pour cette réponse, je ne savais que par defaut c'est la feuille active qui est utilisée (Remarque si j'avais un peu réfléchis cela coule de source), je vais essayer d'adapter ton code pour utilisation qui sera plus simpe, car pas besoin d'entrer un nom de feuille car je sais celle dont je veux néttoyer les données, et par conséquence pas besoin de test non plus, merci beacoup pour ces deux codes

Merci, et bonne aprés midi, G'Claire
 
G

G'Claire

Guest
le forum et kingyeti

Voici le code que j'ai écrit

Private Sub CommandButton13_Click()
Dim Cell As Range
Dim Reponse

Reponse = MsgBox("Supprimer tous les groupes ?", vbYesNo, "CONFIRMATION")
If Reponse = vbYes Then Sheet("Tool_grou").Range(Cells(2, 1), Cells(65536, 4)).ClearContents

End Sub

Mais cela me fait une erreur :

Erreur de compilation,
Sub ou Fonction non définie

Je ne comprends pas tout. Qu-ce qui ne va pas

Merci pour votre aide,
 
G

G'Claire

Guest
Michel


Merci de ton aide, mais J'ai tenté aussi avec un "s" a la fin de Sheet.

Et voila l'erreur que cela me met

Erreur d'éxécution '1004'

erreur définie par l'application ou par l'objet.

Je ne comprends pas pourquoi cela ne fonctionne pas., Merci, G'Claire
 
M

michel

Guest
rebonsoir G'claire

as tu plusieurs onglets dans ton classeur ?
il peut arriver que ce message s'affiche , si par exemple , tu es sur un onglet actif "feuilxx" , alors que ta procédure demande d'effacer des cellules dans un autre onglet Sheets("Tool_grou").


Michel
 

Discussions similaires

Réponses
8
Affichages
476

Statistiques des forums

Discussions
314 663
Messages
2 111 656
Membres
111 250
dernier inscrit
alinber