Bonjour à tous.
Voilà mon problème: (Toutes les cellules, colonnes, valeurs, etc. sont des exemples)
Je souhaite effacer le contenu d'une cellule de la colonne A de la feuille 1, qui contiens 8, quand le contenu de la cellule B1 de la feuille 2 vaut 10.
La position de la cellule de la colonne A à effacer est variable. On peut saisir 8 n'importe où entre 1 et1500. Je saisi en A15.
J'ai tout essayé, et après avoir parcouru le web en long et en large, il s'avère a priori que l'on ne peut pas faire ça avec les fonctions classiques d'Excel. Il faut donc passer par du VBA, et je suis pas fort…
Ce que j'ai fais, avant de baisser les bras:
Sur la colonne A feuille 1, j'ai fais un contrôle de doublon pour être sûr de n'avoir qu'une fois la valeur 8 que je veux effacer.
Sur la feuille 2:
En A1 , j'inscrit 8, valeur de la cellule que je cherche à effacer.
En B1, je saisi 10 qui est le déclencheur de l'action d'effacement.
En C1, j'ai saisi la formule "=EQUIV(A1;'feuille 1'!A1:'feuille 1'!A1500;0)" qui me donne le numéro de ligne de la cellule de colonne A feuille 1 contenant 8, donc je récupère 15 en C1
Jusque là, ça fonctionne.
Ensuite, ça se dégrade.
J'ai fait clic droit sur l'onglet "feuille 2" et dans la fenêtre VBA, j'ai écrit:
Eh bé non !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Worksheet_Change(ByVal Target As Range) Dim I As Integer I = Range("C1") 'Je veux ranger dans "I" la valeur de C1 qui vaut 15 If Range("B1") = 10 Then Sheets("feuille 1").Range("A1" & I-1).ClearContents ' Avec Range("A1"& I-1), je souhaite atteindre la cellule de la colonne A qu'il faut effacer. ' Comme A1 est en 1, j'enlève 1 à l'index "I" qui vaut 15. J'obtiens donc A1+14 , et dans ma logique, j'efface la cellule A15 End If End Sub
Bon, j'ai 2 soucis:
1- La partie VBA ne marche pas bien que je n'ai pas de défaut de compilation. C'est donc une erreur "logique"
2- Quand je veux utiliser le débogage pas à pas, en tapant F8, je n'obtiens qu'un petit 'ting' et quand je veux faire F5 exécution, je n'ai pas ma petite macro dans la liste de choix.
Help me !
Merci d'avance
Partager