XL 2016 Suppression du contenu d'une cellule si une autre est remplie

Karim48

XLDnaute Nouveau
Bonjour,

Dans le fichier ci-joint, j'aimerais trouver une VBA qui supprime le contenu de la cellule AY si AW est pleine, et inversément.

J'ai bien trouver ça:

<Sub Macro1()

Range("AY7").Select
Selection.ClearContents
End Sub>

Mais je n'arrive pas à integrer une fonction à condition

Ce fichier doit être exporté via un add-in et lorsque je l'envoie, il me met en disant que la valeur (importée par VBA) est incorrecte en AY. Lorsque je me mets sur la cellule et que j'appuie sur "Suppr", le add-in exporte bien le fichier.

Je vous remercie par avance de l'aide que vous voudrez bien m'apporter.

Cordialement
 

Pièces jointes

  • Nouvellesfacturesfournisseurs_US_FR.xlsx
    281.3 KB · Affichages: 15

soan

XLDnaute Barbatruc
Inactif
Bonjour Karim, riton,

je te laisse faire des tests dans le fichier joint. :)

code VBA du module de la feuille "Data" :

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim lig&, col%
  With Target
    If .CountLarge > 1 Then Exit Sub
    lig = .Row: If lig < 7 Then Exit Sub
    col = .Column: If col <> 49 And col <> 51 Then Exit Sub
    If IsEmpty(.Value) Then Exit Sub
    Application.EnableEvents = 0
    Cells(lig, 100 - col).ClearContents
    Application.EnableEvents = -1
  End With
End Sub

soan
 

Pièces jointes

  • Nouvellesfacturesfournisseurs_US_FR.xlsm
    295.9 KB · Affichages: 7

Karim48

XLDnaute Nouveau
Merci beaucoup, même si j'ai pas pu la tester car quand je demande à l'executer, ça m'affiche une fenetre "Macros" avec toutes les macros actuellement actives

Etant novice en VBA, je n'arrive pas à la tester. D'autant que cette feuille fait partie d'un autre code et j'aimerais l'executer hors private sub pour pouvoir l'appeler via "Call".

Pensez vous cela possible?

Merci d'avance
 

soan

XLDnaute Barbatruc
Inactif
Bonjour karim,

quand je demande à l'exécuter, ça m'affiche une fenêtre "Macro" avec toutes les macros actuellement actives

la macro Worksheet_Change() n'est pas comme une macro que tu lances d'habitude via la fenêtre "Macro" : elle s'exécute automatiquement quand tu changes une cellule de la feuille (saisie d'une nouvelle valeur, modification d'une ancienne valeur, suppression de la valeur actuelle) ➯ il te suffit de faire des tests en saisissant une valeur en AW7 ou AY7 ; tu pourras aussi voir que ça marche pareil pour les lignes en dessous. :)

soan
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16