FéFéClochette
XLDnaute Nouveau
Bonjour à tous,
Je souhaiterai qu'une macro sélectionne une plage de données après avoir identifié l'adresse des colonnes utiles. Mais je n'arrive pas à trouver la fonction ou alors je n'utilise pas les bons paramètres.
Cela cafouille à la fin au niveau de "Cell.Column("AdresseHATrouvee:AdresseVPTrouvee").Select"
Mais je n'arrive pas à trouver la bonne formulation.
D'autre part, sachant que ces adresses sont les entêtes de colonnes, je voudrais que la macro fasse la sélection directement en ligne 2.
--------------------------------------------------------------------------------------------------------------------------------
Dim ColpxHA As Range
Dim ColpxVente As Range,PlageDeRecherche As Range
Dim PrixHA As String, AdresseHATrouvee As String
Dim PrixVP As String, AdresseVPTrouvee As String
PrixHA = "Prix d'achat"
Set PlageDeRecherche = ActiveSheet.Rows(1)
'*******************************
Set ColpxHA = PlageDeRecherche.Cells.Find(what:=PrixHA, LookAt:=xlWhole)
If ColpxHA Is Nothing Then
AdresseHATrouvee = " La colonne Prix d'achat n'est pas présente dans la feuille"
Else
AdresseHATrouvee = ColpxHA.Address
ColpxHAOk = True
NoCellPxHa = i
End If
PrixVP = "Prix conseillé"
Set PlageDeRecherche = ActiveSheet.Rows(1)
'*******************************
Set ColpxVente = PlageDeRecherche.Cells.Find(what:=PrixVP, LookAt:=xlWhole)
If ColpxVente Is Nothing Then
AdresseVPTrouvee = " La colonne Prix conseillé n'est pas présente dans la feuille"
Else
AdresseVPTrouvee = ColpxVente.Address
ColpxVenteOk = True
End If
Cell.Column("AdresseHATrouvee:AdresseVPTrouvee").Select
Range(Selection, Selection.End(xlDown)).Select
For Each Cell In Selection
--------------------------------------------------------------------------------------------------------------------------------
Cette macro traitait tout le temps les même colonnes mais dorénavant, les colonnes pouvant bouger, je la modifie en allant chercher les adresses des colonnes utiles. Mais pas facile à réadapter :/
Il faudra ensuite que je modifie la formulation précédent le traitement mais ça c'est une autre paire de manche
--------------------------------------------------------------------------------------------------------------------------------
For i = 2 To NbRows
nb1 = ActiveSheet.Cells(i, 25)
nb2 = ActiveSheet.Cells(i, 26)
--------------------------------------------------------------------------------------------------------------------------------
Merci beaucoup pour votre aide. Les explications sont longues mais j'espère qu'elles seront compréhensibles !
Bonne journée Le forum
Je souhaiterai qu'une macro sélectionne une plage de données après avoir identifié l'adresse des colonnes utiles. Mais je n'arrive pas à trouver la fonction ou alors je n'utilise pas les bons paramètres.
Cela cafouille à la fin au niveau de "Cell.Column("AdresseHATrouvee:AdresseVPTrouvee").Select"
Mais je n'arrive pas à trouver la bonne formulation.
D'autre part, sachant que ces adresses sont les entêtes de colonnes, je voudrais que la macro fasse la sélection directement en ligne 2.
--------------------------------------------------------------------------------------------------------------------------------
Dim ColpxHA As Range
Dim ColpxVente As Range,PlageDeRecherche As Range
Dim PrixHA As String, AdresseHATrouvee As String
Dim PrixVP As String, AdresseVPTrouvee As String
PrixHA = "Prix d'achat"
Set PlageDeRecherche = ActiveSheet.Rows(1)
'*******************************
Set ColpxHA = PlageDeRecherche.Cells.Find(what:=PrixHA, LookAt:=xlWhole)
If ColpxHA Is Nothing Then
AdresseHATrouvee = " La colonne Prix d'achat n'est pas présente dans la feuille"
Else
AdresseHATrouvee = ColpxHA.Address
ColpxHAOk = True
NoCellPxHa = i
End If
PrixVP = "Prix conseillé"
Set PlageDeRecherche = ActiveSheet.Rows(1)
'*******************************
Set ColpxVente = PlageDeRecherche.Cells.Find(what:=PrixVP, LookAt:=xlWhole)
If ColpxVente Is Nothing Then
AdresseVPTrouvee = " La colonne Prix conseillé n'est pas présente dans la feuille"
Else
AdresseVPTrouvee = ColpxVente.Address
ColpxVenteOk = True
End If
Cell.Column("AdresseHATrouvee:AdresseVPTrouvee").Select
Range(Selection, Selection.End(xlDown)).Select
For Each Cell In Selection
--------------------------------------------------------------------------------------------------------------------------------
Cette macro traitait tout le temps les même colonnes mais dorénavant, les colonnes pouvant bouger, je la modifie en allant chercher les adresses des colonnes utiles. Mais pas facile à réadapter :/
Il faudra ensuite que je modifie la formulation précédent le traitement mais ça c'est une autre paire de manche
--------------------------------------------------------------------------------------------------------------------------------
For i = 2 To NbRows
nb1 = ActiveSheet.Cells(i, 25)
nb2 = ActiveSheet.Cells(i, 26)
--------------------------------------------------------------------------------------------------------------------------------
Merci beaucoup pour votre aide. Les explications sont longues mais j'espère qu'elles seront compréhensibles !
Bonne journée Le forum