address et row impossible

sebastien450

XLDnaute Occasionnel
Bonjour,

Ma fonction ci-dessous donne le résultat que je souhaite, (range sous format A1:B1) mais impossible d'en extraire le numéro de ligne malgrés tous mes essais.
Comment faire?

Sheets("PLANNING").Select
Set plage = Application.InputBox(prompt:="Test", Type:=8)

MsgBox plage.Address(0, 0)

'récuperer le numero de ligne ?

Merci
 

sebastien450

XLDnaute Occasionnel
Re : address et row impossible

En effet j'ai trouvé la solution ainsi:

VersionC = Range(c.Address).Column

Mais ma fonction find ne marche plus, et ne trouve que 1 résultat, comme si le looping ne se fait pas...

Set plage = Application.InputBox(prompt:="Selectionne la plage a analyser", Type:=8)
With plage
Set c = .Find("version", LookIn:=xlValues, Lookat:=False) 'cherche le mot version
If Not c Is Nothing Then
VersionC = Range(c.Address).Column
'On saute une ligne
L = L + 1
'adresse trouvée / numero moule / date version a faire
Sheets("Feuil2").Cells(L + 1, 5).Value = Sheets("PLANNING").Range(c.Address).Value
Sheets("Feuil2").Cells(L + 1, 6).Value = Worksheets("PLANNING").Range(c.Address).Offset(1, 0).Value
Sheets("Feuil2").Cells(L + 1, 4).Value = Worksheets("PLANNING").Cells(2, VersionC).Value
End If

End With
 

sebastien450

XLDnaute Occasionnel
Re : address et row impossible

Ci-joint le fichier
j'essaye de simplifier la macro du module 4, trop longue, dans le module 6.

Objectif : après sélection de la plage, identifier le mot version & afficher l'adresse dans la feuil 2.
Il s'agit d'un mot multiple, avec une écriture variable.

Cpk=> code repris du net..
 

Pièces jointes

  • Planning fabrication EN187 rev 2.xlsm
    250.5 KB · Affichages: 37

CPk

XLDnaute Impliqué
Re : address et row impossible

Qu'est-ce que cela veut dire "mot multiple" ? Sur la photo que j'ai joint, lesquels sont à considérer ? Et...Sur la feuille 2 qui est pratiquement vierge il faut coller l'information ou ?
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    89 KB · Affichages: 31
  • Sans titre.jpg
    Sans titre.jpg
    89 KB · Affichages: 31

sebastien450

XLDnaute Occasionnel
Re : address et row impossible

Ci-dessous mon code qui marche.... Mais si vous pouvez le simplifier, c'est avec plaisir
Sub RechMulti()
' je nettoie les cellules feuil2
Sheets("Feuil2").Select
[A3:Q100].Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' je vérifie les version en cherchant "version"
Sheets("PLANNING").Select
Set Plage = Application.InputBox(prompt:="Test", Type:=8)
With Plage
Set c = .Find("Version", LookIn:=xlValues)
If Not c Is Nothing Then
adresse1 = c.Address
Do

VersionC = Range(c.Address).Column

'On saute une ligne
L = L + 1
'adresse trouvée / numero moule / date version a faire
Sheets("Feuil2").Cells(L + 2, 1).Value = Sheets("PLANNING").Range(c.Address).Value
Sheets("Feuil2").Cells(L + 2, 2).Value = Worksheets("PLANNING").Range(c.Address).Offset(1, 0).Value
Sheets("Feuil2").Cells(L + 2, 3).Value = Worksheets("PLANNING").Cells(2, VersionC).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> adresse1
End If
End With
' j'inscrit les changement de moules en chercheant "M+xxx"

With Plage 'defini le range de travail, qui va devenir variable
Set d = .Find("M", LookIn:=xlValues)
If Not d Is Nothing Then
Adresse2 = d.Address
Do
VersionR = Range(d.Address).Column

'recopie en sautant une ligne /L'ne cherche que les M+4 ou 5 chiffres
Ma1ereLettre = Left(d.Text, 1)
If Ma1ereLettre = "M" Then
If d.Text Like "[M]####" Or d.Text Like "[M]#####" Then
L1 = Sheets("Feuil2").Range("F65536").End(xlUp).Row
Sheets("Feuil2").Cells(L1 + 1, 6).Value = Sheets("PLANNING").Range(d.Address).Value
Sheets("Feuil2").Cells(L1 + 1, 7).Value = Worksheets("PLANNING").Cells(2, VersionR).Value
End If
End If
Set d = .FindNext(d)
Loop While Not d Is Nothing And d.Address <> Adresse2
End If
End With
'ouvrir rep outillage pour voir état du moule et associé infos
'Workbooks.Open Filename:="X:\Production\SuiviRéparationOutillages.xls"

'aller chercher le numero de moule pour le trouver
Sheets("Feuil2").Select
For t = 3 To L1

Windows("Planning fabrication EN187 rev 2").Activate
x = Cells(t, 6).Value
Workbooks("SuiviRéparationOutillages.xls").Activate
L12 = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Set Plage1 = Sheets("Feuil1").Range(Cells(1, 1), Cells(L12, 1))
With Plage1
Set c = .Find(x, LookIn:=xlValues, LookAt:=False) 'cherche le x = numero moule voir si en rep
If Not c Is Nothing Then
Adresse3 = c.Address

Do
versionU = Range(c.Address).Row
If c.Text <> "" Then
'on repasse sur le planning et on colorie en rouge si une ligne est ouverte
Windows("Planning fabrication EN187 rev 2").Activate
Cells(t, 6).Select
Selection.Interior.Color = 255
Cells(t, 8).Value = c.Address
VersionS = Range(c.Address).Row
'il reste a recopie la date mtn que nous avons toruvé un lien

Workbooks("SuiviRéparationOutillages.xls").Activate
For f = 2 To L12
u = versionU
x1 = Cells(u, f).Select
If Selection.Interior.Color = 255 Then
'trouver cellule rouge il faut donc copier coller
versionfin = ActiveCell.Column
toi = Workbooks("SuiviRéparationOutillages.xls").Sheets("Feuil1").Cells(2, versionfin).Text
Windows("Planning fabrication EN187 rev 2").Activate
Sheets("Feuil2").Cells(t, 9).Value = toi




End If
Next f
Windows("Planning fabrication EN187 rev 2").Activate
End If
Set c = .FindNext(c)

Loop While Not c Is Nothing And c.Address <> Adresse3
End If
End With
Next t
'derniere boucle pour aller chercher via adresse versionS dans tableau out et decaler jusqua rouge



End Sub
 

thebenoit59

XLDnaute Accro
Re : address et row impossible

Bonjour Cpk, bonjour Sebastien.

Essaye d'utiliser les balises
Code:
 sur le forum, ça sera plus lisible.
Quand tu souhaites choisir une plage, il s'agit juste de la colonne. Pourquoi ne pas demander le choix de la colonne en fonction de l'en-tête avec une Liste déroulante ?

Tu y gagnerais en rapidité et ça réduirait énormément ton code.
 

CISCO

XLDnaute Barbatruc
Re : address et row impossible

Bonjour à tous

Sébastien, cela serait mieux si tu lisais tous les posts du fil que tu as ouvert et si tu répondais aux questions que te posent les intervenants, ici à celles de CPk.

@ plus
 

CPk

XLDnaute Impliqué
Re : address et row impossible

Bonjour Cisco, Benoit,Sebastien.
CISCO, j'apprécie ta sollicitude. Sebastien...L'énoncé de départ c'est chercher le mot "version" dans une plage défini, le problème est donc résolu. Pour la nouvelle problématique, votre macro dans sa globalité est censée faire quoi ?
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley