Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Effacer données dans un onglet en fonction d'un autre onglet

galileorock

XLDnaute Junior
bsr ts le monde

je suis a la recherche d'une macro ou formule qui effacerait des cellules dans un onglet en fonction d'un critrere qui se trouve ds un autre onglet.

ds le fichier joint ds l'onglet A les données (qui ne doivent pas etre touché) et ds cet onglet en colonne C il y a une donnée noté NP,je voudrais que ds l'onglet B en colonne M la cellule qui contient ce NP soit vide (attention en colonne M les données copier via formules)

merci d'avance
 

Pièces jointes

  • Classeur1.xlsx
    11.1 KB · Affichages: 28
  • Classeur1.xlsx
    11.1 KB · Affichages: 29
  • Classeur1.xlsx
    11.1 KB · Affichages: 28

Paf

XLDnaute Barbatruc
Re : Effacer données dans un onglet en fonction d'un autre onglet

bonjour

peut-être, en feuille B colonne M, en M3 : =SI(A3="";"";SI(A!C2<>"NP";A!C2;""))

A+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Effacer données dans un onglet en fonction d'un autre onglet

Bonsoir Galileo, bonsoir le forum,

Peut-être avec cette formule en N3 : =SI(OU(A3="";M3="NP");"";A!C2) à tirer vers le bas...

[Édition]
Bonsoir Paf on s'est croisé...
 

galileorock

XLDnaute Junior
Re : Effacer données dans un onglet en fonction d'un autre onglet

merci cela marcherais si je n'avais d'autre formule derriere ,moi ce qui me faudrait c'est que la cellule soit vide sans aucune formule
c'est pour ca qu'au debut j'avais mis macro mais merci qd meme
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Effacer données dans un onglet en fonction d'un autre onglet

bonjour le fil, bonjour le forum,

Alors peut-être comme ça avec la macro événementielle Calculate dans l'onglet B :
Code:
Private Sub Worksheet_Calculate()
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL As Range 'déclare la variable CEL (CEllule)

DL = Cells(Application.Rows.Count, 13).End(xlUp).Row 'défini la dernière ligne éditée de la colonne 13 (=M) de l'onglet
Set PL = Range("M3:M" & DL) 'définit la plage PL
For Each CEL In PL 'boucle sur toutes les cellules CEL de la plage PL
    If CEL.Value = "NP" Then CEL.Offset(0, 1).ClearContents 'si la cellule est égale à "NP" efface le contenu de la cellule colonne décalé de 1 vers la droite (=N)
Next CEL 'prochaine cellule de la boucle
End Sub
Le fichier :
 

Pièces jointes

  • Galileo_v01.xlsm
    19 KB · Affichages: 22

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…