Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/02/2010, 14h32   #1
Nouveau Membre du Club
 
Inscription : septembre 2002
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2002
Messages : 138
Points : 38
Points : 38
Par défaut convertir un range en cells

Bonjour,
Mon probleme c'est de convertir un "range(A1)" en "cells(1,1)"
j'ai fait une recherche avec :
Code :
    Valtrouvé = [B:B].Find(What:=ValCherche, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Address
j'ai comme format de retour "Valtrouvé = range(A1)"

hors je prefererai avoir le format "Valtrouvé = cells(1,1)" car je veux apres faire :
Si quelqu'un a une idée
MERCI
backdraf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2010, 14h53   #2
Membre habitué
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 103
Points : 103
Bonjour

Valtrouvé est de type range

Valtrouvé.Row donnera le numéro de ligne
Valtrouvé.Column donnera le numéro de colonne, valeur exploitable avec cells
Valtrouvé.offset(0,1) donnera une cellule sur la même ligne situé sur la colonne suivante.

Jp014
jp014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2010, 17h46   #3
Nouveau Membre du Club
 
Inscription : septembre 2002
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2002
Messages : 138
Points : 38
Points : 38
Merci JP014
mais malgre cela je n'arrive toujours pas a recuperer le n° de ligne et de colonne
Code :
1
2
3
Valtrouvé = [B:B].Find(What:=ValCherche, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Address
    ligne = Valtrouvé.Row
    colonne = Valtrouvé.Column
,

voici le code ou me suis je trompé ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Sub MACRO_AT_INSEE()
 
' Recuperation du nom du fichier et de la feuille dans une variable =====
NomFichierAT = ActiveWorkbook.Name
NomFeuilleAT = ActiveSheet.Name
' FIN ==================================================
 
' Demande d'ouvrir un fichier à l'utilisateur =======================
Set OuvrirFichierINSEE = Application.Workbooks.Open(Application.GetOpenFilename)
NomFichierINSEE = ActiveWorkbook.Name
NomFeuilleINSEE = ActiveSheet.Name
' Fin ===================================================
 
' Deplacement d'une feuille d'un classeur à l'autre ==================
    Sheets(NomFeuilleINSEE).Select
    Sheets(NomFeuilleINSEE).Move Before:=Workbooks(NomFichierAT). _
        Sheets(1)
    Windows(NomFichierAT).Activate
' Fin ===================================================
Sheets(NomFeuilleAT).Select
Derniere_valeur = Sheets(NomFeuilleAT).Cells(5000, 1).End(xlUp).Row
 
For lig = 3 To Derniere_valeur
    ValCherche = Cells(lig, 7).Value
    Sheets(NomFeuilleINSEE).Select
    Valtrouvé = [B:B].Find(What:=ValCherche, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Address
    ligne = Valtrouvé.Row
    colonne = Valtrouvé.Column
Next lig
End Sub
merci pour votre aide
backdraf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2010, 18h05   #4
Membre Expert
 
Inscription : juillet 2007
Messages : 2 134
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 2 134
Points : 2 154
Points : 2 154
Salut backdraf et le forum
Code :
Valtrouvé = [B:B].Find(What:=ValCherche, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Address
Retourne l'adresse en Valtrouvé, en référence absolues, sous un format texte!
Code :
Set Valtrouvé = [B:B].Find(What:=ValCherche, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns)
retourne la valeur Trouvé dans la variable plage Valtrouvé. Et comme c'est une cellule, on peut en extraire la ligne (.Row) et la colonne (.Column)
A+
Gorfael est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2010, 18h17   #5
Nouveau Membre du Club
 
Inscription : septembre 2002
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2002
Messages : 138
Points : 38
Points : 38
Merci Gorfael
backdraf est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h08.


 
 
 
 
Partenaires

Hébergement Web