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

Plusieurs questions en VBA!! Help me ! ;-)

1 réponse
Avatar
Lorcán
Bonjout à toutes et à tous...

Je commence à peine la programmation en VBA. Ayant une base en programmation, je ne maîtirise pas encore la syntaxe VBA. J'ai plusieurs questions :

1° Est-il possible de récupérer la première ligne d'une zone de texte Excel (zone de texte crée avec le module dessin) afin de la stocker dans une variable ?

2° Comment ouvrir en arrière plan un fichier .xls afin de traiter ses données? Je connais cette syntaxe :

chemXLS = Application.TemplatesPath & "historique.xls"
If ActiveWorkbook.Path = "" Then
Set Historique = Workbooks.Open(chemXLS)
With wbk.ActiveSheet
...
...
End With
Historique.Close True

Grâce à cette fonction, exécutée dans une macro d'un premier fichier à sa sauvegarde, j'aimerais vérifier si la valeur d'une de ses variables ("NomPrenom" du fichier appelant) se trouve dans la 1ère colonne du fichier appelé (ici "Historique.xls")

Si la valeur de la variable "NomPrenom" se trouve dans une cellule de la 1ère colonne du fichier "Historique.xls" il faudrait ajouter une cellule à la ligne correspondante avec la valeur d'une variable "Ref" qui elle se trouve dans le fichier appelant. Si aucune occurence de la variable "NomPrenom" n'est trouvée dans "Historique.xls", il faudrait ajouter une nouvelle ligne avec comme première cellule la valeur de "NomPrenom" et comme 2ème cellule la valeur de "Ref"

J'aimerais donc savoir simplement comment on accède à des cellules d'un fichier externe :-)

Merci de votre aide car là je suis un peu paumé :-)

1 réponse

Avatar
michdenis
Bonjour Lorcan,

Pour récupérer la première ligne de texte d'une zone de texte situé sur la feuil1

Tu dois adapter le nom de la feuille et du contrôle selon les noms de ton application.

'----------------
Dim T As String, A As Integer, B As String
T = Worksheets("feuil1").Shapes("Zone de texte 2").TextFrame.Characters.Text
A = InStr(1, T, Chr(10), vbTextCompare)
B = Left(T, A - 1)
MsgBox B
'----------------


Pour Ouvrir un fichier : ça pourrait donner quelque chose du genre avec l'obligeance d'adpater le nom des objets à ton
application.

'----------------------------
Dim Xl as object, Wk as object, Rg as range

'Création de l'instance d'excel
set Xl = createobject("Excel.application")

'Si tu veux voir l'instance d'excel
Xl.visible = True 'or False

set Wk = xl.workbooks.open ("C:ExcelClasseur1.xls")

With wk.worksheets("Feuil1")
With .Range("A:A")
set rg = .Find(NomPrenom,LookAt=xlWhole,LookIn:=:=xlValues)
end with
end with

If not rg is nothing then
Msgbox "La variable est présente"
else
Msgbox "la variable n'est pas présente."
end if

'Fermeture du fichier sans enregistrer
wk.close false

'Fermeture de l'instance d'excel
Xl.close

set Xl = Nothing: set Wk=Nothing: Set rg = Nothing
'----------------------------


Salutations!


"Lorcán" a écrit dans le message de news:
Bonjout à toutes et à tous...

Je commence à peine la programmation en VBA. Ayant une base en programmation, je ne maîtirise pas encore la syntaxe VBA. J'ai
plusieurs questions :

1° Est-il possible de récupérer la première ligne d'une zone de texte Excel (zone de texte crée avec le module dessin) afin
de la stocker dans une variable ?

2° Comment ouvrir en arrière plan un fichier .xls afin de traiter ses données? Je connais cette syntaxe :

chemXLS = Application.TemplatesPath & "historique.xls"
If ActiveWorkbook.Path = "" Then
Set Historique = Workbooks.Open(chemXLS)
With wbk.ActiveSheet
...
...
End With
Historique.Close True

Grâce à cette fonction, exécutée dans une macro d'un premier fichier à sa sauvegarde, j'aimerais vérifier si la valeur d'une
de ses variables ("NomPrenom" du fichier appelant) se trouve dans la 1ère colonne du fichier appelé (ici "Historique.xls")

Si la valeur de la variable "NomPrenom" se trouve dans une cellule de la 1ère colonne du fichier "Historique.xls" il faudrait
ajouter une cellule à la ligne correspondante avec la valeur d'une variable "Ref" qui elle se trouve dans le fichier
appelant. Si aucune occurence de la variable "NomPrenom" n'est trouvée dans "Historique.xls", il faudrait ajouter une
nouvelle ligne avec comme première cellule la valeur de "NomPrenom" et comme 2ème cellule la valeur de "Ref"

J'aimerais donc savoir simplement comment on accède à des cellules d'un fichier externe :-)

Merci de votre aide car là je suis un peu paumé :-)