Recupération coordonnées cellule

Signaler
Messages postés
24
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
14 janvier 2021
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour a tous,

je cherche a récupéré les coordonne d'un cellule excel dans deux variable distinct et ceux en fonction de la valeur afficher dans cette cellule.

exemple :
Je recherche le mots "TEST" dans un tableau
Il se trouve dans la cellule C4
Donc variable de sortie :
VarL = 4
VarC = 3

J'aimerais rajouter cette recherche dans ce type de code:

'ouverture de excel
ExcelObj = CreateObject("excel.application") 'Ouverture de Excel
ExcelObj.Application.Visible = False 'Excel est visible
ExcelDoc = ExcelObj.Workbooks.Open(ChemTabDevis) 'Ouverture du fichier listing
ExcelAct = ExcelObj.ActiveWorkbook.Worksheets(AFF105) 'Nom de onglet de la page
'recherhce coordonnée cellule
ExcelAct.Find(What:=AFF100 + "-" + AFF150, LookIn:=xlValues)
'Remplissage des cellules avec coordonnes (Ligne, Colonne)
ExcelAct.Cells(3, 1).Value = (AFF100 + "-" + AFF150) 'num aff complet
ExcelAct.Cells(3, 3).Value = (AFF127) 'etat oei
ExcelAct.Cells(3, 4).Value = (OEI211) 'users create
ExcelAct.Cells(3, 7).Value = (AFF101 + "-" + AFF150) 'identification
ExcelAct.Cells(3, 9).Value = (AFF128) 'etat client
ExcelAct.Cells(3, 12).Value = (AFF129) 'type affaire
ExcelAct.Cells(3, 13).Value = (AFF108) 'nom client
ExcelAct.Cells(3, 14).Value = (AFF120 + " " + AFF119) 'nom contact
ExcelAct.Cells(3, 16).Value = (AFF102) 'nom affaire
ExcelAct.Cells(3, 17).Value = (AFF130) 'date AO
ExcelAct.Cells(3, 18).Value = (AFF131) 'date rao
ExcelAct.Cells(3, 19).Value = (AFF135) 'date relance
ExcelAct.Cells(3, 22).Value = (AFF132) 'delais
ExcelAct.Cells(3, 23).Value = (AFF133) 'prix
'Coloration cellule etat oei
If AFF127 = "OUVERT" Then
ExcelAct.Cells(3, 3).Interior.Color = RGB(146, 208, 80) 'vert
ElseIf AFF127 = "EN COURS" Then
ExcelAct.Cells(3, 3).Interior.Color = RGB(255, 192, 0) 'orange
Else
ExcelAct.Cells(3, 3).Interior.TransparencyColor = RGB(0, 0, 0) 'transparent
End If
'Coloration cellule etat client
If AFF127 = "CONFIANT" Then
ExcelAct.Cells(3, 9).Interior.Color = RGB(142, 269, 219) 'bleu
ElseIf AFF127 = "ATT/CMD" Then
ExcelAct.Cells(3, 9).Interior.Color = RGB(255, 192, 0) 'orange
ElseIf AFF127 = "SOLDE" Then
ExcelAct.Cells(3, 9).Interior.Color = RGB(0, 176, 240) 'bleu
ElseIf AFF127 = "GAGNE" Then
ExcelAct.Cells(3, 9).Interior.Color = RGB(204, 255, 204) 'vert pastel
Else
ExcelAct.Cells(3, 9).Interior.TransparencyColor = RGB(0, 0, 0) 'transparent
End If
'Procedure de sauvegarde et de fermeture
ExcelObj.ActiveWorkbook.Save() 'Sauvegarde du fichier ouvert
ExcelObj.Workbooks.Close() 'Fermeture de application
ExcelAct = Nothing
ExcelDoc = Nothing
ExcelObj = Nothing

Merci pour votre aide
--

1 réponse

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
Déjà : Find est une méthode de l'objet application Excel
Je te conseille de lire attentivement mes réponses dans cette discussion :
http://codes-sources.commentcamarche.net/forum/affich-10045280-determiner-la-premiere-cellule-non-vide-d-une-feuille-excel-vb-n
Ensuite : que sont donc les variables AFF100, AFF150 ? ...

Je vais te dire, à toi également, ce que je m'évertue à répéter.
On ne peut "piloter" VBA/Excel qu'à condition de maîtriser d'abord VBA/Excel.
Si tu ne sais pas faire ce que tu cherches à faire depuis VBA2/Excel directement, tu ne saurais encore moins le faire en pilotant depuis une autre application (VB.Net)
Commence donc par faire en VBA (pas en pilotage, donc) ce que tu cherches à faire.
Reviens lorsque tu auras passé cette étape (avec le code VBA) et nous te dirons alors, si besoin en était encore, comment utiliser ce code en "pilotage".
Et si tu ne parviens pas à le faire depuis VBA, ce sera alors une discussion VBA qu'il te faudra ouvrir.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend