Macro de condition dans excel
Résolu/Fermé
JBtheDarkman
Messages postés
17
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
8 septembre 2011
-
10 déc. 2010 à 16:33
JBtheDarkman Messages postés 17 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 8 septembre 2011 - 14 déc. 2010 à 19:26
JBtheDarkman Messages postés 17 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 8 septembre 2011 - 14 déc. 2010 à 19:26
A voir également:
- Macro de condition dans excel
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Macro word - Guide
5 réponses
ccm81
Messages postés
10850
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2024
2 403
10 déc. 2010 à 16:47
10 déc. 2010 à 16:47
bonjour
peut etre quelque chose qui ressemble à ça
If Range("D8").Value = "toto" Then
Sheets("Feuil2").Select
Else
Sheets("Feuil3").Select
End If
bonne suite
peut etre quelque chose qui ressemble à ça
If Range("D8").Value = "toto" Then
Sheets("Feuil2").Select
Else
Sheets("Feuil3").Select
End If
bonne suite
JBtheDarkman
Messages postés
17
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
8 septembre 2011
11 déc. 2010 à 16:13
11 déc. 2010 à 16:13
J'ai essayé la ligne de code, mais j'ai toujours l'erreur Block if sans end if.
Je vais mettre la ligne de code au complet, peut-être pourrais tu voir l'erreur.
Merci pour ta réponse extrêmement rapide.
Private Sub CommandButton2_Click()
'
Application.ScreenUpdating = False
If Range("D8")= "ToTo" Then
Application.ActivePrinter = "Wasp WPL-305 sur Ne01:"
Sheets("Étiquette Date").PrintOut Copies:=Sheets("Étiquette Date").Range("E2")
Else
' Parcourt les Feuilles de la 1ème à la dernière
For sh = 1 To Sheets.Count
With Sheets(sh).Range("d1")
' recherche la valeur située en 'D8' sur la première feuille
Set t = .Find(Sheets("Choix").Range("D8").Value, LookIn:=xlValues)
If Not t Is Nothing Then
' Si la valeur est trouvée, alors
' Active la feuille contenant cette valeur
Sheets(sh).Activate
' Récupère l'adresse de la cellule trouvée et la selectionne
'Nom du Client
.Range("B1").Offset(0, -3).Copy Destination:=Sheets("Étiquette Pièce").Range("B1:E1")
'Numero de la piece
.Range("B3").Offset(0, -3).Copy Destination:=Sheets("Étiquette Pièce").Range("B5:E5")
'Description de la piece
.Range("B5").Offset(0, -3).Copy Destination:=Sheets("Étiquette Pièce").Range("B3:E3")
Sheets("Étiquette Pièce").Select
'
'
Application.ActivePrinter = "Wasp WPL-305 sur Ne01:"
Sheets("Étiquette Pièce").PrintOut Copies:=Sheets("Étiquette Pièce").Range("G6")
Sheets("Choix").Select
Exit Sub
End If
End With
Next
Application.ScreenUpdating = True
End Sub
Merci encore de ton aide.
Je vais mettre la ligne de code au complet, peut-être pourrais tu voir l'erreur.
Merci pour ta réponse extrêmement rapide.
Private Sub CommandButton2_Click()
'
Application.ScreenUpdating = False
If Range("D8")= "ToTo" Then
Application.ActivePrinter = "Wasp WPL-305 sur Ne01:"
Sheets("Étiquette Date").PrintOut Copies:=Sheets("Étiquette Date").Range("E2")
Else
' Parcourt les Feuilles de la 1ème à la dernière
For sh = 1 To Sheets.Count
With Sheets(sh).Range("d1")
' recherche la valeur située en 'D8' sur la première feuille
Set t = .Find(Sheets("Choix").Range("D8").Value, LookIn:=xlValues)
If Not t Is Nothing Then
' Si la valeur est trouvée, alors
' Active la feuille contenant cette valeur
Sheets(sh).Activate
' Récupère l'adresse de la cellule trouvée et la selectionne
'Nom du Client
.Range("B1").Offset(0, -3).Copy Destination:=Sheets("Étiquette Pièce").Range("B1:E1")
'Numero de la piece
.Range("B3").Offset(0, -3).Copy Destination:=Sheets("Étiquette Pièce").Range("B5:E5")
'Description de la piece
.Range("B5").Offset(0, -3).Copy Destination:=Sheets("Étiquette Pièce").Range("B3:E3")
Sheets("Étiquette Pièce").Select
'
'
Application.ActivePrinter = "Wasp WPL-305 sur Ne01:"
Sheets("Étiquette Pièce").PrintOut Copies:=Sheets("Étiquette Pièce").Range("G6")
Sheets("Choix").Select
Exit Sub
End If
End With
Next
Application.ScreenUpdating = True
End Sub
Merci encore de ton aide.
Le Pingou
Messages postés
12034
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 mars 2024
1 425
11 déc. 2010 à 23:13
11 déc. 2010 à 23:13
Bonsoir,
Au passage, il manque un [End If] entre [Next] et [Application.ScreenUpdating = True]
Au passage, il manque un [End If] entre [Next] et [Application.ScreenUpdating = True]
JBtheDarkman
Messages postés
17
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
8 septembre 2011
14 déc. 2010 à 00:09
14 déc. 2010 à 00:09
Merci j'ai une autre question, si j'aurais plusieur choix de toto
exemple toto - 1
toto - 2
Comment écrirais tu cette ligne pour que tout ce qui commence par toto soit pris en compte sans être oubligé de toutes les nommé?
If Range("D8")= "ToTo" Then
Merci parce que ta dernière réponse a réglé une partit de mon problème.
exemple toto - 1
toto - 2
Comment écrirais tu cette ligne pour que tout ce qui commence par toto soit pris en compte sans être oubligé de toutes les nommé?
If Range("D8")= "ToTo" Then
Merci parce que ta dernière réponse a réglé une partit de mon problème.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 681
14 déc. 2010 à 00:15
14 déc. 2010 à 00:15
bonjour
If left( Range("D8"),4) = "ToTo" Then
prend en compte tous les ToTo
If left( Range("D8"),4) = "ToTo" Then
prend en compte tous les ToTo
JBtheDarkman
Messages postés
17
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
8 septembre 2011
14 déc. 2010 à 02:12
14 déc. 2010 à 02:12
Merci bginforme, mais ça ne fonctionne pas.
Peux-etre que l'erreur vient du fait que Toto-1 est incris dans la case d8?
As-tu une idée?
Peux-etre que l'erreur vient du fait que Toto-1 est incris dans la case d8?
As-tu une idée?
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 681
14 déc. 2010 à 09:18
14 déc. 2010 à 09:18
Bonjour,
Tu as le pourquoi dans ta réponse (Toto-1 ) et ccm81 te donnes la parade.
Lorsque l'on a des saisies imprécises faut faire avec mais c'est plus complexe.
Tu as le pourquoi dans ta réponse (Toto-1 ) et ccm81 te donnes la parade.
Lorsque l'on a des saisies imprécises faut faire avec mais c'est plus complexe.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10850
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2024
2 403
Modifié par ccm81 le 14/12/2010 à 09:03
Modifié par ccm81 le 14/12/2010 à 09:03
re
la proposition de bginforme est correcte
est ce que tu as bien respecté la casse (majuscule/minuscule) dans l'écriture de tes toto(s)
pour eviter ces pb de casse tu peux mettre
If left(UCase(Range("D8")),4)= "TOTO" Then
bonne suite
la proposition de bginforme est correcte
est ce que tu as bien respecté la casse (majuscule/minuscule) dans l'écriture de tes toto(s)
pour eviter ces pb de casse tu peux mettre
If left(UCase(Range("D8")),4)= "TOTO" Then
bonne suite
JBtheDarkman
Messages postés
17
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
8 septembre 2011
14 déc. 2010 à 19:26
14 déc. 2010 à 19:26
Merci a vous deux.
je n'avais pas remaqué mon erreur de frappe
Votre aide m'a été précieuse.
je n'avais pas remaqué mon erreur de frappe
Votre aide m'a été précieuse.