Formule dans une macro

Résolu/Fermé
Misterlagaf Messages postés 6 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014 - 1 août 2014 à 11:31
WeaponEDGE Messages postés 113 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 novembre 2014 - 1 août 2014 à 13:40
Bonjour,
je voudrais appliquer a un image avec une macro et une condition if then en if

la fonction suivante
if E31=1,G31=2,I31=3,K31=4 then
alors je passe sur la feuil2

end if
mais je n'y arrive pas pouvez vous m'aider merci

merci d'avance de votre aide
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
1 août 2014 à 11:52
Bonjour,

Clic droit sur l'image : Affecter une macro.
Le code :
Sub Image1_Cliquer()
'Avec condition ET
If [E31] = 1 And [G31] = 2 And [I31] = 3 And [K31] = 4 Then
'Avec Condition OU
'If [E31] = 1 Or [G31] = 2 Or [I31] = 3 Or [K31] = 4 Then
Sheets("Feuil2").Activate
End If
End Sub

0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
1 août 2014 à 12:18
Bonjour pijaku

Une petite question svp pour ma culture,
Pour quelle raison utilise-tu dans tes codes [E31] à la place de Range("E31")?
Est-ce pour une facilité d'écriture?
Est-ce exactement la même chose?

cordialement
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
1 août 2014 à 12:25
Bonjour,

C'est exactement la même chose. Pure fainéantise de ma part.
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
1 août 2014 à 12:34
Alors, Je crois que je vais devenir faignant
0
Misterlagaf Messages postés 6 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014
Modifié par Misterlagaf le 1/08/2014 à 12:09
merci pour ton aide
encore une demande
et si je voudrais la même formule mais pour des codes différent et toujours avec le même bouton
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
1 août 2014 à 12:13
Ta question manquant cruellement de précision...

Sub Image1_Cliquer()
'Avec condition ET
If [E31] = 1 And [G31] = 2 And [I31] = 3 And [K31] = 4 Then
'Avec Condition OU
'If [E31] = 1 Or [G31] = 2 Or [I31] = 3 Or [K31] = 4 Then
Sheets("Feuil2").Activate
ElseIf [E31] = 10 And [G31] = 20 And [I31] = 30 And [K31] = 40 Then
Sheets("Feuil3").Activate
Else
Sheets("Feuil4").Activate
End If
End Sub
0
Misterlagaf Messages postés 6 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014
1 août 2014 à 12:28
le 1er code et fonctionnelle et il vas super bien
ma question et la suivante:
supposont que je voudrais ouvrir 10 feuilles avec 10 code different
a partir du premier code
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
1 août 2014 à 12:59
Quels sont les 10 codes d'ouverture?
0
Misterlagaf Messages postés 6 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014
1 août 2014 à 13:02
le 1er 1234 le 2ieme 2546 par exemple ,ect... pour les autre
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 1/08/2014 à 13:23
Ben voilà. ..

Dim Code As String

Code = CStr([E31].Value & [G31].Value & [I31].Value & [K31].Value)
Select Case Code
  Case "1234"
      Sheets("Feuil1").Activate
  Case "2546"
      Sheets("Feuil2").Activate
  Case "6541"
      Sheets("Feuil3").Activate
  '...
  '...
  Case Else
      MsgBox "Mauvais code"
End Select
0
Misterlagaf Messages postés 6 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014
1 août 2014 à 12:47
je sais que cela marche tres bien avec les celulle et je suis tres novice avec les ranges
malgrée que j'adore faire des tableurs pour un oui pou pour un non
0
WeaponEDGE Messages postés 113 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 novembre 2014 9
Modifié par WeaponEDGE le 1/08/2014 à 13:42
Bonjour,

Pour ta culture personnel le RANGE sert à grouper plusieurs cellule:
Le RANGE("A1").select ne va grouper qu'une seule cellule alors que le Range("A1", "B4").Select sélectionnera toutes les cellule de A1 jusqu'à B4 donc 8 celulles au total.

Après le VBA c'est comme une langue vivante, parfois il ya plusieurs manière de dire la même chose. Si tu veux sélectionner une cellule tu peux le noter de ces différente manières :
Range("A1").select
[A1].select
Cells(1,"A").select
Cells(1,1).select

pour ma part je te conseil d'utiliser la dernière solution car elle utilise uniquement des nombres pour déterminer la position d'une cellule ce qui te permet de jouer avec les variable quand la cellule à sélectionner n'est pas connu à l'avance.

pour en revenir au groupement des cellules voilà ce que Range("A1", "B4").Select donnerait en utilisant le Cells :
Range(cells(1,1),cells(4,2)).select
0
Misterlagaf Messages postés 6 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014
1 août 2014 à 13:31
merci pour votre aide precieuse
avec les essais qui marche tres bien je pourrais continuer mon projet :)
0