Macro Excel

Résolu
afullana Messages postés 301 Statut Membre -  
afullana Messages postés 301 Statut Membre -
Bonjour,

Voici mon problème,
Sur la feuille Lot, J'ai une cellule en B15 avec un code qui évolue ( requete Query)

Sur la même feuille, j'ai une cellule B10 avec elle aussi un code qui évolue ( requete Query)

Sur la feuille lot j'aimerais créer une macro qui fait : Si (B15 différent de B10 ; alors: effacement d'une cellule sur la feuille Lot ; Sinon rien)

Avez-vous quelques tuyaux a me donner ?

Autre chose, existe il une fonction « CLEAR » mais qui ne supprime pas le formatage de la cellule ?

Merci d'avance

10 réponses

  1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Salut,

    je t'ai fait une petite macro, si par exemple les cases B10 et B15 sont identique la cellule A1 va être Clear.

    Pour mettre une macro dans visual basic tu fais le menu unsertion/module et tu mets ceci:
    Sub clear()  
    If Worksheets("Lot").Range("B10") <> Worksheets("Lot").Range("B15") Then  
    Worksheets("Lot").Range("A1").clear  
    End If  
    
    End Sub  
    

    Et tu associe cette macro à un bouton sur ta feuille.

    Si tu veux que le code agisse automatiquement en travaillant sur ta page. Dans visual basic tu clique 2 fois sur Feuil1(Lot) et tu mets ce code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Worksheets("Lot").Range("B10") <> Worksheets("Lot").Range("B15") Then
    Worksheets("Lot").Range("A1").clear
    End If
    End Sub
    


    Bonne journée
    Tout problème a une solution...il faut juste être persévérant.
    1
  2. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Salut,

    Pourquoi une macro? Tu pourrais très bien le faire avec une simple formule:
    =SI(B15<>B10;"";0)
    Donc si B15 et B10 sont différent ta cellule se vide sinon elle affiche 0 ou bien un autre calcul.

    Bonne journée
    0
  3. afullana Messages postés 301 Statut Membre 19
     
    Merci pour la rapidité de la repo ricky, je vais essayer dessuite
    0
  4. afullana Messages postés 301 Statut Membre 19
     
    sa marche bien mais c'est pas tout a fait ce que je demande car il existe une Valeur dans La cellule cible ( que je dois effacer lors de l'egalité)
    donc je ne peut pas y mettre une formule en plus d'une valeur ->( qui est un calcul)
    0
    1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
       
      et c'est quoi le calcul ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. afullana Messages postés 301 Statut Membre 19
     
    Pour expliquer plus simplement, j'ai un N° dans une case, sur une autre feuille j'ai un numero qui peut etre similaire
    J'aimerais qui si c'est le cas, une cellule ( ou il y a une requete SQL et donc des mesures) soit "clear" et sinon "rien".

    Donc je ne peut pas mettre une formule dans cette meme case
    0
  7. afullana Messages postés 301 Statut Membre 19
     
    J'ai un peu avancé si qq a une idée?
    Voici le code que j'ai crée

    Sub Macro()

    Sheets("Lot" ).Select
    Range("E6" ).Select
    If ActiveCell = "C12" Then GoTo Clear
    Exit Sub
    Clear:
    With Sheets("Lot" )
    .Range("E10" ).Clear
    End With

    End Sub

    Donc en regroupant tout sur une feuille ma macro ne marche deja pas :??: et la en plus, il manque le nom de la feuille Data!C12 au niveau de l'egalité
    0
  8. afullana Messages postés 301 Statut Membre 19
     
    tu assure merci bcp je vais aller tester sa
    0
  9. afullana Messages postés 301 Statut Membre 19
     
    j'ai essayé et il s'avere que le <> utilisé sous excel ne fonctionne pas sous VBA ( ou alors pas avec des valeurs numeriques).

    j'ai remplacer par un = et la pas de pb cela fonctionne

    Sub clear()
    If Worksheets("Lot").Range("B10") = Worksheets("Lot").Range("B15") Then
    Worksheets("Lot").Range("H8").clear
    End If

    End Sub

    A tout hasard ricky38 il existe une fonction pour clear mais sans supprimer le formatage de la cellule?
    0
  10. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    oui au lieu de Clear tu mets ClearContents et le format de cellule va rester

    et au passage <> fonctionne très bien et veut dire n'égale pas, ou différent

    0
  11. afullana Messages postés 301 Statut Membre 19
     
    oki genial encore merci pour tout
    0