Problème de delete VB

PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   -  
PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je suis en train de faire un formulaire Excel. Dans celui-ci j'y ajoute des macros.
Cepandant l'une d'entre elle me fait une erreur 1004.

Voilà le code :

Private Sub Check()

ActiveRow = 0
ActiveCol = 0

Boolean_IT_Programme_Liste = (Not Intersect(Range(ActiveCell, ActiveCell), Range("IT_Programme_Liste")) Is Nothing)
Boolean_IT_Logiciel = (Not Intersect(Range(ActiveCell, ActiveCell), Range("Logiciel")) Is Nothing)


If (Range(Boolean_IT_Logiciel) = " ") Then
Range(Boolean_IT_Programme_Liste).Rows.Select
Selection.delete
End If

End Sub


Je tiens a préciser que c'est mon premier code donc...
Quelqu'un peux m'aider ?

Bonne journée :P

PrinceKreol
A voir également:

10 réponses

pdeharbes Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   31
 
Dans un premier temps, il faut dérouler cette macro pas à pas ainsi la ligne fautive est localisée.
0
Aligator_427 Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   21
 
sous excel les lignes et les colonnes commencent à 1 et non à 0.
0
PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   7
 
Et comment faire cela ?

Merci de la réponse rapide
0
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
Bonjour,
Mauvaise utilisation des variables et des méthodes....
explications
1) on ne sait pas sur quelle feuille tu travailles, et le programme non plus ne le sait pas...

2) Boolean_IT_Programme_Liste va contenir true ou false mais "IT_Programme_liste" doit se trouver sur la feuille active sinon : erreur 1004

3 ) Boolean_IT_Logiciel : même punition que précédemment

4) If (Range(Boolean_IT_Logiciel) = " ") Then .... là tu as tout mélangé parceque
a) boolean_IT_Logiciel ne contiendras JAMAIS " " ( un espace ou un vide) mais vrai ou faux : true / false
b) je crois que tu mélange cellule nommée et variable VBA
le plus simple ... explique ce que tu veux faire....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   7
 
j'ai une plage de cellule (ligne 39-71) qui se nomme IT_Logiciel avec un selecteur.
Il sert pour que ceux qui ont besoin d'accéder à cette partie à faire dérouler la partie.

Dans cette partie il y a les logiciels. (IT_Programme_Liste)

Cependant lorsque j'active ces programme (par liste déroulantes) et que finalement je me dis que j'en ai plus besoin et que je désactive IT_Logiciel il reste actif...

Ce qui m'embete car ils activent une signature en bas et qu'elle reste visible, même si les programmes ne le sont pas...

Besoin de plus de précision ?
0
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
je comprens pas !
J'ai une plage de cellule (ligne 39-71) qui se nomme IT_Logiciel ( ça j'ai compris !) avec un selecteur ( ça j'ai pas compris c'est quoi pour toi le selecteur?).

données / validation?
Dans cette partie il y a les logiciels. (IT_Programme_Liste) ligne 39 - 71 mais
quelles sont les colonnes?

peux-tu mettre un fichier en ligne? cijoint.fr et coller le lien dans un post?

je dois partir je regarde plus tard.
A+
0
PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   7
 
si tu veux c'est une liste déroulante...

les possibilité son "X" et " " lorsque X affiché le menu des programmes s'affichent...

les programme se trouve de la "42-68" sur la colonne "C"

Pour le fichier non, car il y a des donnée privée...

merci de t'occuper de mon cas
0
PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   7
 
J'ai trouvé, sauf que lorsque je fais ma manipulation, Excel plante et je dois le fermer depuis le "Task manager"...

Private Sub Check_Essai3()

If Not (Range("Logiciel") = "X") Then
Range("IT_Programme_Liste").Select
Selection.ClearContents
End If

End Sub

Peut-être es-ce dû à une faute ?
Je ne sais pas mais j'esprère que mon future interlocuteur oui :P

Bonne journée
0
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
Private Sub Check_Essai3()

If Range("Logiciel").value <>"X" Then
Range("IT_Programme_Liste").ClearContents
End If

End Sub
j'espère que cela t'aidera.

néanmoins, je pense que tu devrai jeter un oeil vers les listes validations.
une p'tite recherche avec google devrait le faire...
0
PrinceKreol Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   7
 
Cela fonctionne (comme le mien)

J'ai juste du l'appeler ma macro depuis un autre points.

Mais la tienne est bien aussi sauf qu'elle prend plus de temps à mon gout...
0