Fonction si multiple en vba
Résolu/Fermé
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
-
Modifié le 12 oct. 2020 à 06:12
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 - 19 oct. 2020 à 21:23
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 - 19 oct. 2020 à 21:23
A voir également:
- Si.multiple ne fonctionne pas
- Fonction si et - Guide
- Excel cellule choix multiple - Guide
- Ecran multiple pc - Guide
- Paris multiple 2/6 explication - Forum Excel
- Fonction moyenne excel - Guide
4 réponses
jordane45
Messages postés
38445
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 février 2025
4 737
12 oct. 2020 à 06:59
12 oct. 2020 à 06:59
Bonjour
Merci de partager ton code correctement en utilisant les balises de code
Explications à lire entièrement disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
Merci de partager ton code correctement en utilisant les balises de code
Explications à lire entièrement disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
Ambassadeur
1 568
12 oct. 2020 à 07:22
12 oct. 2020 à 07:22
bonjour,
peut-être:
peut-être:
dim classeur as workbook, chemin as string chemin = "" '... set classeur=workbooks.open(chemin) '... classeur.close
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
Modifié le 12 oct. 2020 à 08:28
Modifié le 12 oct. 2020 à 08:28
Cela sert à ouvrir et fermer uniquement ??
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
>
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
12 oct. 2020 à 09:57
12 oct. 2020 à 09:57
l'exemple, en effet, ne fait qu'ouvrir et fermer.
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
12 oct. 2020 à 17:32
12 oct. 2020 à 17:32
J'ai taper le plus important :)
Sub actualisé() With thisworkbook If sheets("stock cein ”).range("s1") ="poste 1” then Workbooks.open filename:="Q:\deprog\.fichier1..xlsm”, readonly:=1, updatelinks:=0 If sheets("stock cein ”).range("s1") ="poste 2” then Workbooks.open filename:="Q:\deprog\.fichier2..xlsm”, readonly:=1, updatelinks:=0 If sheets("stock cein ”).range("s1") ="poste 3” then Workbooks.open filename:="Q:\deprog\.fichier3..xlsm”, readonly:=1, updatelinks:=0 .refreshAll Windows("fichiers1.xlms").close savechanges:= false Windows("fichiers2.xlms").close savechanges:= false Windows("fichiers3.xlms").close savechanges:= false End if End With End sub
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
12 oct. 2020 à 19:46
12 oct. 2020 à 19:46
alors peut-être ainsi:
Sub actualisé() Dim classeur As Workbook, chemin As String Select Case ThisWorkbook.Sheets("stock cein ").Range("s1") Case "poste 1" chemin = "Q:\deprog\.fichier1.xlsm" Case "poste 2" chemin = "Q:\deprog\.fichier2.xlsm" Case "poste 3" chemin = "Q:\deprog\.fichier3.xlsm" End Select Set classeur = Workbooks.Open(Filename:=chemin, ReadOnly:=1, UpdateLinks:=0) ThisWorkbook.RefreshAll classeur.Close End Sub
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
>
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
12 oct. 2020 à 20:06
12 oct. 2020 à 20:06
Merci je vais tester ce code et je reviens vers vous pour vous confirmer si ça fonctionne
Par curiosité vous seriez aussi comment coder si le fichier voulu et déjà ouvert je reçois un message d’erreur( fichier déjà ouvert voulez vous le réouvrir), je voudrais donc le réouvrir dans le fermer merci d’avance si vous prenez du temps pour trouver la solution
Par curiosité vous seriez aussi comment coder si le fichier voulu et déjà ouvert je reçois un message d’erreur( fichier déjà ouvert voulez vous le réouvrir), je voudrais donc le réouvrir dans le fermer merci d’avance si vous prenez du temps pour trouver la solution
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
>
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
12 oct. 2020 à 21:47
12 oct. 2020 à 21:47
quand tu écris "je voudrais donc le réouvrir dans le fermer", que signifie "dans"?
quel est l'utililité de rouvrir un fichier déjà ouvert?
quel est l'utililité de rouvrir un fichier déjà ouvert?
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
>
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
Modifié le 13 oct. 2020 à 05:05
Modifié le 13 oct. 2020 à 05:05
Autant pour moi c’est une erreur de frappe le « dans » signifie SANS le refermer
Enfaite j’ai des formules dans un fichier principal qui récupère des données dans ces fichiers secondaire. Seulement j’ai un collègue qui travail avec ce fichier et change des valeurs pour faire une programmation pour le poste suivant...donc je dois ouvrir constamment ce fichier pour que mes données ce mettent a jour sinon ils ce mettent en défaut par #VALEUR!
J’espère avoir était assez clair :)
Enfaite j’ai des formules dans un fichier principal qui récupère des données dans ces fichiers secondaire. Seulement j’ai un collègue qui travail avec ce fichier et change des valeurs pour faire une programmation pour le poste suivant...donc je dois ouvrir constamment ce fichier pour que mes données ce mettent a jour sinon ils ce mettent en défaut par #VALEUR!
J’espère avoir était assez clair :)
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
>
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
13 oct. 2020 à 07:57
13 oct. 2020 à 07:57
J’ai réussi à faire fonctionner ton code mais il me reste le cas ou le fichier et déjà ouvert ... il me demande de le réouvrir
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
13 oct. 2020 à 13:39
13 oct. 2020 à 13:39
Salut merci d’avoir pris du temps pour ma macro
Je reçois un déboggage a la ligne 11 : classeurouvert = dejaouvert (chemin)
Si tu vois le soucis ????????♂️
Je reçois un déboggage a la ligne 11 : classeurouvert = dejaouvert (chemin)
Si tu vois le soucis ????????♂️
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
13 oct. 2020 à 14:17
13 oct. 2020 à 14:17
quel message d'erreur?
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
>
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
13 oct. 2020 à 15:31
13 oct. 2020 à 15:31
Je ne suis plus au travail je vous tiens informé demain
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
>
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
14 oct. 2020 à 07:27
14 oct. 2020 à 07:27
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
>
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
14 oct. 2020 à 09:45
14 oct. 2020 à 09:45
J’ai enlevé ce code et ça marche
Maintenant mon soucis c’est que je reçois la demande si je veux réouvrir le fichier quand je l’ai déjà ouvert sur le bureau
Et l’autre chose c’est qu’il ce place sur le fichier qu’on rouvre alors que je voudrais rester sur ma page ou j’ai le bouton de ma macro
Maintenant mon soucis c’est que je reçois la demande si je veux réouvrir le fichier quand je l’ai déjà ouvert sur le bureau
Et l’autre chose c’est qu’il ce place sur le fichier qu’on rouvre alors que je voudrais rester sur ma page ou j’ai le bouton de ma macro
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
>
Akatsucki
Messages postés
90
Date d'inscription
jeudi 1 octobre 2020
Statut
Membre
Dernière intervention
16 décembre 2021
14 oct. 2020 à 11:31
14 oct. 2020 à 11:31
tu n'expliques pas ce que tu as enlevé.
ceci devrait mieux fonctionner:
ceci devrait mieux fonctionner:
Sub actualisé() Dim classeur As Workbook, chemin As String, garderouvert As Boolean Select Case ThisWorkbook.Sheets("stock cein ").Range("s1") Case "poste 1" chemin = "Q:\deprog\.fichier1.xlsm" Case "poste 2" chemin = "Q:\deprog\.fichier2.xlsm" Case "poste 3" chemin = "Q:\deprog\.fichier3.xlsm" End Select If dejaouvert(chemin) Then Workbooks(chemin).Close garderouvert = True Else garderouvert = False End If Set classeur = Workbooks.Open(Filename:=chemin, ReadOnly:=1, UpdateLinks:=0) ThisWorkbook.RefreshAll If Not garderouvert Then classeur.Close Else ThisWorkbook.Activate End If End Sub Private Function dejaouvert(chemin) As Boolean Dim wb As Workbook For Each wb In Workbooks If wb.FullName = chemin Then dejaouvert = True Exit Function End If Next wb dejaouvert = False End Function
12 oct. 2020 à 08:19
12 oct. 2020 à 11:50
Donc, tu réécris le code depuis ton tel... ou alors tu te l'envois par mail puis tu nous le copie/colle depuis ton tel...
bref...
Le code, il se partage en "text" et non en image.... sinon c'est inexploitable pour nous !