Excel / VBA

Résolu
Cheeko -  
 Cheeko -
Bonjour a tous,

J'ai un petit soucis qui me prend la tete depuis ce matin.

En fait j'ai un classeur excel comportant 3 feuilles.
Feuil1 : plusieurs lignes avec du texte quelconque
Feuil2 : La cellule A1 peut avoir comme texte "oui" ou "non"
(le reste est vide)
Feuil3 : un bouton de commande qui doit effacer la ligne 2 de la feuil1 si la cellule A1 de la feuil2 = "oui"

J'ai tapé ce code pour le bouton de commande :

Private Sub CommandButton1_Click()
If Feuil2.Range("A1") = "oui" Then
Feuil1.Range("B1").EntireRow.Delete Shift:=xlUp
End If
End Sub

Et la c'est le drame,
erreur d'exécution '1004'
la méthode delete de la classe range a échoué !

J'ai testé tout ce que j'ai pu trouver comme code sur les forums mais rien n'y fait !

Pouvez vous m'aider !
merci d'avance

2 réponses

onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut,

Essaies avec
If Worksheets("Feuil2").Range("A1") = "Oui" Then
    Worksheets("Feuil1").Range("A2").EntireRow.Delete
End If


(NB: B1 est quand même sur la première ligne)
0
Cheeko
 
Oui autant pour moi, c'est bien la ligne 2 donc range("A2")

Je viens de tester ton code, plus de message d'erreur mais la ligne ne se supprime pas ! :(
0
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > Cheeko
 
Attention, j'ai fais le test avec Oui en A1 et non pas oui
0
Cheeko > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
 
je n'avais pas vu la nuance !

mais le meme problème survient !
0
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > Cheeko
 
Et là ?
Sub Bouton1_QuandClic()
If LCase(Worksheets("Feuil2").Range("A1")) = "oui" Then
    Worksheets("Feuil1").Range("A2").EntireRow.Delete
End If
End Sub
0
Cheeko > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
 
encore et toujours ce problème de "delete" !
je comprend pas pourquoi ça ne fonctionne pas !
0
el matador
 
bonjour,

essai ca :


Private Sub CommandButton1_Click()

If Feuil2.Range("A1") = "oui" Then
Sheets("Feuil1").Select
Rows("2:2").Select
Selection.Delete Shift:=xlUp
End If

End Sub
0
Cheeko
 
avec ce code, c'est le select qui ne fonctionne pas !

la méthode select de la classe range a échoué !
0