Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Désactiver un evenement Excel...

2 réponses
Avatar
Céline
bonjour =E0 tous,

Dans le cas de la lecture d'un fichier ferm=E9, je me retrouve face =E0
la situation suivante

J'ai un classeur excel qui doit parcourir l'ensemble des classeurs de
son propre dossier, et pour
chaque classeur il doit r=E9cup=E9rer une ligne de donn=E9es dans une
cellule pr=E9cise d'une feuille
pr=E9cise


Or cette feuille n'existe pas sur tous mes classeurs, et je veux donc
ignorer les classeurs pour lesquels
cette feuille n'existe pas.

Je me suis donc arm=E9e de divers
On error resume next,
Application.enableevents =3D false
Application.displayalerts =3D false

Pourtant lors de l'execution de ma proc=E9dure, s'il ne trouve pas la
feuille dans un des classeurs
Excel m'affiche un petit userform pour me demander sur quelle feuille
parmi celles du classeur en cours,
r=E9cup=E9rer les donn=E9es de la cellule...
Comment faire pour d=E9sactiver cet userform ???

MErci beaucoup pour vos commentaires..
C=E9line


la proc=E9dure est la suivante (pour r=E9cup=E9rer les donn=E9es) :


Sub Lecture_Classeur(Nom_du_classeur As String)

On Error Resume Next
Application.DisplayAlerts =3D False
Application.EnableEvents =3D False

Dim Chemin, Fichier, ChampALire, Onglet, Ligne_A_Concatener,
Champ_Ou_Copier As String
Dim i, j, Increment_Ligne, Ligne_Ou_Copier As Integer
Chemin =3D ActiveWorkbook.Path
Fichier =3D Nom_du_classeur
Onglet =3D "Feuille_Cache"
ChampALire =3D "A20"

ThisWorkbook.Worksheets(2).Range("A1").Formula =3D "=3D'" & Chemin & "\[" &
Fichier & "]" & _
Onglet & "'!" & ChampALire
Ligne_A_Concatener =3D
ThisWorkbook.Worksheets("Feuil2").Range("A1").Value

'Bla, bla bla
End sub

2 réponses

Avatar
Youky
Avec ceci moi cela fonctionne en boucle
remplacer msgbox par la destination
Youky

Chemin = "'" & ThisWorkbook.Path & ""
Fichier = "[" & Nom_du_classeur & ".xls]" 'ex "[essai.xls]"
Onglet = "Feuille_Cache'!" 'attention '!
ChampALire = "R20C1 "R= ligne et C=colonne
On Error Resume Next
MsgBox Application.ExecuteExcel4Macro(Chemin & Fichier & Onglet &
ChampALire)

"Céline" a écrit dans le message de news:

bonjour à tous,

Dans le cas de la lecture d'un fichier fermé, je me retrouve face à
la situation suivante

J'ai un classeur excel qui doit parcourir l'ensemble des classeurs de
son propre dossier, et pour
chaque classeur il doit récupérer une ligne de données dans une
cellule précise d'une feuille
précise


Or cette feuille n'existe pas sur tous mes classeurs, et je veux donc
ignorer les classeurs pour lesquels
cette feuille n'existe pas.

Je me suis donc armée de divers
On error resume next,
Application.enableevents = false
Application.displayalerts = false

Pourtant lors de l'execution de ma procédure, s'il ne trouve pas la
feuille dans un des classeurs
Excel m'affiche un petit userform pour me demander sur quelle feuille
parmi celles du classeur en cours,
récupérer les données de la cellule...
Comment faire pour désactiver cet userform ???

MErci beaucoup pour vos commentaires..
Céline


la procédure est la suivante (pour récupérer les données) :


Sub Lecture_Classeur(Nom_du_classeur As String)

On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False

Dim Chemin, Fichier, ChampALire, Onglet, Ligne_A_Concatener,
Champ_Ou_Copier As String
Dim i, j, Increment_Ligne, Ligne_Ou_Copier As Integer
Chemin = ActiveWorkbook.Path
Fichier = Nom_du_classeur
Onglet = "Feuille_Cache"
ChampALire = "A20"

ThisWorkbook.Worksheets(2).Range("A1").Formula = "='" & Chemin & "[" &
Fichier & "]" & _
Onglet & "'!" & ChampALire
Ligne_A_Concatener ThisWorkbook.Worksheets("Feuil2").Range("A1").Value

'Bla, bla bla
End sub
Avatar
Céline
Rénial !!!!
Ca marche !

Merci beaucoup
Céline



Avec ceci moi cela fonctionne en boucle
remplacer msgbox par la destination
Youky

Chemin = "'" & ThisWorkbook.Path & ""
Fichier = "[" & Nom_du_classeur & ".xls]" 'ex "[essai.xls]"
Onglet = "Feuille_Cache'!" 'attention '!
ChampALire = "R20C1 "R= ligne et C=colonne
On Error Resume Next
MsgBox Application.ExecuteExcel4Macro(Chemin & Fichier & Onglet &
ChampALire)

"Céline" a écrit dans le message de news:

bonjour à tous,

Dans le cas de la lecture d'un fichier fermé, je me retrouve face à
la situation suivante

J'ai un classeur excel qui doit parcourir l'ensemble des classeurs de
son propre dossier, et pour
chaque classeur il doit récupérer une ligne de données dans une
cellule précise d'une feuille
précise


Or cette feuille n'existe pas sur tous mes classeurs, et je veux donc
ignorer les classeurs pour lesquels
cette feuille n'existe pas.

Je me suis donc armée de divers
On error resume next,
Application.enableevents = false
Application.displayalerts = false

Pourtant lors de l'execution de ma procédure, s'il ne trouve pas la
feuille dans un des classeurs
Excel m'affiche un petit userform pour me demander sur quelle feuille
parmi celles du classeur en cours,
récupérer les données de la cellule...
Comment faire pour désactiver cet userform ???

MErci beaucoup pour vos commentaires..
Céline


la procédure est la suivante (pour récupérer les données) :


Sub Lecture_Classeur(Nom_du_classeur As String)

On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False

Dim Chemin, Fichier, ChampALire, Onglet, Ligne_A_Concatener,
Champ_Ou_Copier As String
Dim i, j, Increment_Ligne, Ligne_Ou_Copier As Integer
Chemin = ActiveWorkbook.Path
Fichier = Nom_du_classeur
Onglet = "Feuille_Cache"
ChampALire = "A20"

ThisWorkbook.Worksheets(2).Range("A1").Formula = "='" & Chemin & "[" &
Fichier & "]" & _
Onglet & "'!" & ChampALire
Ligne_A_Concatener =
ThisWorkbook.Worksheets("Feuil2").Range("A1").Value

'Bla, bla bla
End sub