Selection de plage et ppté Range
Résolu
Feudora
Messages postés
83
Statut
Membre
-
Feudora Messages postés 83 Statut Membre -
Feudora Messages postés 83 Statut Membre -
Bonjour,
J'ai un petit soucis avec la proprité du range. Je défini une plage de cellule via leur adresse et je voudrais copier ces cellules qui sont dans la feuille nommée 3 - Data 2 dans la feuille dans laquelle je travaille . J'ai écris le code suivant :
Sauf qu'au moment de faire
J'ai essayé de définir ma plage autrement mais rien n'y fait toujours l'erreur qui apparaît ...
Je ne sais pas si cela vient de ma synthèse ou d'une partie que j'aurai oublier mais je ne vois vraiment pas ...
Merci beaucoup d'avance
J'ai un petit soucis avec la proprité du range. Je défini une plage de cellule via leur adresse et je voudrais copier ces cellules qui sont dans la feuille nommée 3 - Data 2 dans la feuille dans laquelle je travaille . J'ai écris le code suivant :
Dim Maplage As Range
nomCherche1 = ActiveSheet.Cells(4, 1).Value
nomCherche2 = ActiveSheet.Cells(5, 1).Value
Set result1 = Sheets("3 - Data 2").Range("C10:C100").Find(What:=nomCherche1)
Set result2 = Sheets("3 - Data 2").Range("C10:C100").Find(What:=nomCherche2)
debutPlage = result1.Address
FinPlage = result2.Offset(0, 1).Address
Sheets("3 - Data 2").Select
Set Maplage = Range(debutPlage & " : " & FinPlage)
'MsgBox "Plage de " & plage.Address
Maplage.Select
Selection.Copy
Sheets("10 - Zoom station").Select
Range("A23").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A23").Select
Sauf qu'au moment de faire
Maplage.Selectcela me met une erreur
J'ai essayé de définir ma plage autrement mais rien n'y fait toujours l'erreur qui apparaît ...
Je ne sais pas si cela vient de ma synthèse ou d'une partie que j'aurai oublier mais je ne vois vraiment pas ...
Merci beaucoup d'avance
A voir également:
- Selection de plage et ppté Range
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Out of range - Forum Windows
- Image de manchots sur une image de plage ✓ - Forum Graphisme
- Image de plage pix ✓ - Forum Google Chrome
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image d’ours polaire sur une image de plage. retrouvez l'image originale de la plage. que cache l'ours polaire ? - Forum Graphisme
4 réponses
Bonjour,
Essaies :
Cordialement
Patrice
Essaies :
Option Explicit
Sub xxx()
Dim result1 As Range
Dim result2 As Range
Dim maplage As Range
Dim nomCherche1 As Variant
Dim nomCherche2 As Variant
nomCherche1 = ActiveSheet.Cells(4, 1).Value
nomCherche2 = ActiveSheet.Cells(5, 1).Value
Set result1 = Sheets("3 - Data 2").Range("C10:C100").Find(What:=nomCherche1)
Set result2 = Sheets("3 - Data 2").Range("C10:C100").Find(What:=nomCherche2)
If result1 Is Nothing Or result2 Is Nothing Then
MsgBox "Nom non trouvé"
Else
Set maplage = Sheets("3 - Data 2").Range(result1, result2.Offset(0, 1))
maplage.Copy Sheets("10 - Zoom station").Range("A23")
Sheets("10 - Zoom station").Activate
Sheets("10 - Zoom station").Range("A23").Select
End If
End Sub
Cordialement
Patrice
ton code marche très bien!! Je l'ai repris pour mes valeurs et c'est impeccable.
J'ai voulu refaire la meme chose pour aller definir une plage sur une autre feuille mais il ne me prends pas la plage en question et je ne sais pas ou il prends les valeurs que je lui demande ...
Désolée de t'embeter encore ...
Le code est le suivant :
Et la première valeur qu'il me copie me donne : 0.95 alors que c'est sensé être pour cet exemple 18...
Je ne vois pas ou j'ai pu faire l'erreur ca marche dans le premier cas et la ca ne fonctionne plus ...
Help me, I don't understand ...
Merci beaucoup
J'ai voulu refaire la meme chose pour aller definir une plage sur une autre feuille mais il ne me prends pas la plage en question et je ne sais pas ou il prends les valeurs que je lui demande ...
Désolée de t'embeter encore ...
Le code est le suivant :
Dim result1 As Range
Dim result2 As Range
Dim resultVitessA1 As Range
Dim resultVitessA2 As Range
Dim resultVitessR1 As Range
Dim resultVitessR2 As Range
Dim maplage As Range
Dim maplageVitesseA As Range
Dim maplageVitesseR As Range
Dim nomCherche1 As Variant
Dim nomCherche2 As Variant
Dim PKCherche1 As Variant
Dim PKCherche2 As Variant
nomCherche1 = ActiveSheet.Cells(4, 1).Value
nomCherche2 = ActiveSheet.Cells(5, 1).Value
PKCherche1 = Sheets("10 - Zoom station").Cells(4, 2).Value
PKCherche2 = Sheets("10 - Zoom station").Cells(5, 2).Value
Set result1 = Sheets("3 - Data 2").Range("C10:C100").Find(What:=nomCherche1)
Set result2 = Sheets("3 - Data 2").Range("C10:C100").Find(What:=nomCherche2)
' ton code que j'ai repris
If result1 Is Nothing Or result2 Is Nothing Then
MsgBox "Nom non trouvé"
Else
Set maplage = Sheets("3 - Data 2").Range(result1, result2.Offset(0, 1))
maplage.Copy Sheets("10 - Zoom station").Range("A10")
Sheets("10 - Zoom station").Activate
Sheets("10 - Zoom station").Range("A10").Select
End If
'Plage pour récuperer les valeurs de vitesse
'Aller
'Le meme code mais appliqué à une autre feuille de mon classeur
With Sheets("Headway|Vitesse")
Set resultVitessA1 = .Range("A3:A2000").Find(What:=PKCherche1)
Set resultVitessA2 = .Range("A3:A2000").Find(What:=PKCherche2)
If resultVitessA1 Is Nothing Or resultVitessA2 Is Nothing Then
MsgBox "PK non trouvé"
Else
Set maplageVitesseA = .Range(resultVitessA1, resultVitessA2.Offset(0, 1))
maplageVitesseA.Copy Sheets("10 - Zoom station").Range("A22")
Sheets("10 - Zoom station").Activate
Sheets("10 - Zoom station").Range("A22").Select
End If
End With
Et la première valeur qu'il me copie me donne : 0.95 alors que c'est sensé être pour cet exemple 18...
Je ne vois pas ou j'ai pu faire l'erreur ca marche dans le premier cas et la ca ne fonctionne plus ...
Help me, I don't understand ...
Merci beaucoup
Bonjour,
Effectivement il n'y a pas de raison que ça ne fonctionne pas.
Cependant la première recherche se faisant sur une plage de 90 cellules, je trouve bizarre que tu copies la seconde plage en A22 au risque d'écraser une partie de la copie précédente.
Et d'autre part pour copier les valeurs à la place des formules, remplaces :
par
:
Effectivement il n'y a pas de raison que ça ne fonctionne pas.
Cependant la première recherche se faisant sur une plage de 90 cellules, je trouve bizarre que tu copies la seconde plage en A22 au risque d'écraser une partie de la copie précédente.
Et d'autre part pour copier les valeurs à la place des formules, remplaces :
maplageVitesseA.Copy Sheets("10 - Zoom station").Range("A22")
par
With maplageVitesseA
'si besoin pour copier les format et sinon sans cette ligne ::
.Copy Sheets("10 - Zoom station").Range("A22")
' et pour copier les valeurs :
Sheets("10 - Zoom station").Range("A22").Resize(.Rows.Count, .Columns.Count).Value = .Value
End With
:
Bonjour
Je m'aperçois que l'aide que je t'avais apporté n'a servi a rien concernant la fonction Find
puis je caresser l'espoir que tu daignes regarder l'exemple que je t'ai donné donnant la syntaxe de cette fonction?
https://forums.commentcamarche.net/forum/affich-33950067-petit-soucis-avec-la-fonction-vlookup
Set resultVitessA1 = .Range("A3:A2000").Find(What:=PKCherche1
est une erreur de syntaxe:
si la valeur cherchée PKCherche1 se trouve en A3, la réponse ne donnera pas la cellule A3 (peut-^tre Ax)
a toi de voir pourquoi puisque ca ne sert à rien de passer du temps à t'aider
Michel
Je m'aperçois que l'aide que je t'avais apporté n'a servi a rien concernant la fonction Find
puis je caresser l'espoir que tu daignes regarder l'exemple que je t'ai donné donnant la syntaxe de cette fonction?
https://forums.commentcamarche.net/forum/affich-33950067-petit-soucis-avec-la-fonction-vlookup
Set resultVitessA1 = .Range("A3:A2000").Find(What:=PKCherche1
est une erreur de syntaxe:
si la valeur cherchée PKCherche1 se trouve en A3, la réponse ne donnera pas la cellule A3 (peut-^tre Ax)
a toi de voir pourquoi puisque ca ne sert à rien de passer du temps à t'aider
Michel
je n'ai rien contre le code de Patrice mais je signale que la syntaxe de la fonction FIND est erronée car il manque le paramètre AFTER que je t'avais communiquer et ,en plus, tu as ci-dessus la documentation MICROSOFT (il faut un clic sur l'image pour l'agrandir)
Ce que je t'avais proposé est simplement une démo pour ne pas utiliser Vlookup et tu ce que tu demandes dans cette nouvelle discussion va plus loin !!!
c'est pas possible d'être aussi têtu et dédaigneux de l'aide qu'on apporte
essaies le macramé, ca ira mieux
Ce que je t'avais proposé est simplement une démo pour ne pas utiliser Vlookup et tu ce que tu demandes dans cette nouvelle discussion va plus loin !!!
c'est pas possible d'être aussi têtu et dédaigneux de l'aide qu'on apporte
essaies le macramé, ca ira mieux

Option Explicit Sub xxx() Dim result1 As Range Dim result2 As Range Dim maplage As Range Dim nomCherche1 As Variant Dim nomCherche2 As Variant nomCherche1 = ActiveSheet.Cells(4, 1).Value nomCherche2 = ActiveSheet.Cells(5, 1).Value With Sheets("3 - Data 2") Set result1 = .Range("C10:C100").Find(What:=nomCherche1) Set result2 = .Range("C10:C100").Find(What:=nomCherche2) If result1 Is Nothing Or result2 Is Nothing Then MsgBox "Nom non trouvé" Else Set maplage = .Range(result1, result2.Offset(0, 1)) maplage.Copy Sheets("10 - Zoom station").Range("A23") Sheets("10 - Zoom station").Activate Sheets("10 - Zoom station").Range("A23").Select End If End With End Sub