Macro Excel
Résolu/Fermé
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
-
6 avril 2010 à 15:39
afullana Messages postés 295 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 8 juin 2012 - 7 avril 2010 à 14:57
afullana Messages postés 295 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 8 juin 2012 - 7 avril 2010 à 14:57
A voir également:
- Macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
10 réponses
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
Modifié par Ricky38 le 7/04/2010 à 13:36
Modifié par Ricky38 le 7/04/2010 à 13:36
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:
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:
Bonne journée
Tout problème a une solution...il faut juste être persévérant.
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.
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
6 avril 2010 à 15:47
6 avril 2010 à 15:47
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
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
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
6 avril 2010 à 16:01
6 avril 2010 à 16:01
Merci pour la rapidité de la repo ricky, je vais essayer dessuite
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
6 avril 2010 à 16:05
6 avril 2010 à 16:05
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)
donc je ne peut pas y mettre une formule en plus d'une valeur ->( qui est un calcul)
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
6 avril 2010 à 16:06
6 avril 2010 à 16:06
et c'est quoi le calcul ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
Modifié par afullana le 7/04/2010 à 09:01
Modifié par afullana le 7/04/2010 à 09:01
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
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
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
7 avril 2010 à 11:21
7 avril 2010 à 11:21
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é
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é
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
7 avril 2010 à 13:35
7 avril 2010 à 13:35
tu assure merci bcp je vais aller tester sa
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
Modifié par afullana le 7/04/2010 à 13:42
Modifié par afullana le 7/04/2010 à 13:42
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?
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?
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
7 avril 2010 à 13:52
7 avril 2010 à 13:52
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
et au passage <> fonctionne très bien et veut dire n'égale pas, ou différent
afullana
Messages postés
295
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
8 juin 2012
19
7 avril 2010 à 14:57
7 avril 2010 à 14:57
oki genial encore merci pour tout