Problème 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 - 24 nov. 2020 à 17:47
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021 - 26 nov. 2020 à 18:23
Bonjour,

Je bloque sur mon code VBA qui ne réponds pas à ma demande ...
Je cherche à actualiser mes données on ouvrant un fichier (si pas déjà ouvert), puis le refermer
OU si déjà ouvert, le fermer et le réouvrir pour mettre à jours les nouvelles donnée
Pouvais voir ou est mon erreur...



Je sais qu’une photo n’est pas très acceptable pour m’aider mais la macro ce trouve sur le fichier de mon entreprise et il est interdit d’utiliser internet

Akatsucki

2 réponses

yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480
24 nov. 2020 à 18:00
bonjour,
le code ne se comporte pas comme tu le souhaites?
que fait-il?
il n'a jamais fonctionné?
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480
Modifié le 24 nov. 2020 à 18:08
tu as bien
option explicit
en début de module?
merci de montrer ton code complet.
0
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
24 nov. 2020 à 19:10
Enfaite il m’actualise les données mais il me garde jamais le fichier ouvert ( pour la condition 2: si déjà ouvert alors fermer puis réouvrir ) et jai le message d’erreur ( votre fichier et déjà ouvert voulez vous le réouvrir ) que je ne veux pas qu’il s’affiche

Non je n’ai pas Option explicit en début de module
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
24 nov. 2020 à 19:27
cela me fait penser à cette discussion:
https://forums.commentcamarche.net/forum/affich-36885396-fonction-si-multiple-en-vba

ajouter
Option explicit
peut t'aider à découvrir tes erreurs.

merci de montrer ton code complet.
0
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 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024
Modifié le 24 nov. 2020 à 19:54
Oui je n’ai toujours pas résolu mon soucis depuis ce temps là... j’avais arrêté mes recherches

Voici mon code : (J’ai taper à la main lol )

 Sub actualité 

Application.screenupdating = false
Application.enableevents = false

Dim classeur as worbook, chemin as string, gardeouvert as boolean

Select case thisworkbook.sheets("ACCUEIL").range("k20")
Case "poste 1"
Chemin = "Q:\deptprod\confection bu\production\commun conf\programme P1 pour P2.xlsm"

Case "poste 2"
Chemin = "Q:\deptprod\confection bu\production\commun conf\programme P2 pour P3.xlsm"

Case "poste 3"
Chemin = "Q:\deptprod\confection bu\production\commun conf\programme P3 pour P1.xlsm"

End select 

'Si classeur ouvert, alors fermer puis reouvrir ( pblm msg erreur fichier déjà ouvert ??

If classeurouvert then
    Classeurouvert.close savechanges:= false
    Gardeouvert = true
Else 
    Gardeouvert = false

End if 

'Si classeur fermé, alors ouvrir puis refermer (sans sauvegarde)

Set classeur = workbooks.open(filename:=chemin, readonly:=1, updatelinks:=0)
Thisworkbook.refreshall

If not gardeouvert then 
          Classeur.close savechanges:= false

End if 

Application.screenupdating = true
Application.enableevents = true

End sub

Private function dejaouvert (chemin)
Dim wb as workbook 
For each wb un workbooks
If wb.fullname = chemin then 
Set dejaouvert = wb

Exit function 
End if

Next wb
Classeurouvert = false
End function 

0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
24 nov. 2020 à 20:32
je ne vois pas trop comment ce code pourrait fonctionner.
s'il s'agit du même problème qu'avant, plutôt que de recommencer avec ce nouveau code, je suggère de continuer avec l'ancien code, que me semble plus prometteur.
0
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
Modifié le 24 nov. 2020 à 23:49
J’ai de nouveau le debogage ligne 11 de ton code ...
T’es sur d’avoir le même code que moi car vbCrLf ça veut dire quoi ??
0
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
25 nov. 2020 à 10:30
Est ce que la function doit ce mettre en début de module ou en fin (Comme j’ai moi)

Peu être que c’est cela le problème ??
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480
25 nov. 2020 à 13:55
quel message d'erreur avant le debogage?
vbCrLf, c'est un saut de ligne.
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
25 nov. 2020 à 13:55
la fonction peut-être n'importe où dans le module.
0
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 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024
25 nov. 2020 à 14:38
Je ressaye après ou boulot et je te renvoie le code comme moi je l’ai écris avec ton ancien code
0
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
25 nov. 2020 à 17:07
Alors ça fonctionne pour trouvé les erreurs, mais ça me donne debogage

Erreur d’exécution 91
Variable objet ou variable de bloc with non définie

0