Selection de plage et ppté Range
Résolu/Fermé
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
-
29 sept. 2016 à 14:22
Feudora Messages postés 81 Date d'inscription mardi 5 juillet 2016 Statut Membre Dernière intervention 2 décembre 2016 - 30 sept. 2016 à 17:01
Feudora Messages postés 81 Date d'inscription mardi 5 juillet 2016 Statut Membre Dernière intervention 2 décembre 2016 - 30 sept. 2016 à 17:01
A voir également:
- Selection de plage et ppté Range
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? - Forum Graphisme
- Outil selection illustrator ne fonctionne pas ✓ - Forum Illustrator
- Retrouver moi l'original - Forum Musique / Radio / Clip
- La méthode range de l'objet _global a échoué ✓ - Forum VB / VBA
- Inverser selection excel - Forum Excel
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
Modifié par Patrice33740 le 29/09/2016 à 15:05
Modifié par Patrice33740 le 29/09/2016 à 15:05
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
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 11:59
30 sept. 2016 à 11:59
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
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 13:36
30 sept. 2016 à 13:36
J'ai trouvé pourquoi !! C'est parce qu'il regarde dans mes cellules et ce sont des formules du coup il regarde dans la formule et non la valeur de la cellule directement. Si quelqu'un sait comment contourné le problème ...
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
>
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 16:43
30 sept. 2016 à 16:43
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
:
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
>
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
30 sept. 2016 à 17:01
30 sept. 2016 à 17:01
La première recherche se fait sur une plage de 90 valeurs mais j'en copie tout au plus 6/8 c'est pour ca que je mets ma deuxieme plage en A22 .Merci pour ton aide je vais essayer de ce pas ta solution.
Merci beaucoup
Merci beaucoup
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 30/09/2016 à 14:32
Modifié par michel_m le 30/09/2016 à 14:32
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
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 14:30
30 sept. 2016 à 14:30
Certes je n'ai pas réutiliser la solution que tu avais proposé mais ce n'est pas pour cela que m'aider ne sert à rien , j'ai utilisé la fonction qui m'a été propsé sur cette page qui marche pile comme je le voulais, ne te vexe pas qu'on n'utilise pas que les solution que tu propose Michel_m
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
>
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 14:34
30 sept. 2016 à 14:34
Ah bon ?
et pourquoi
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 ...
décidément, nul et au choix...
et pourquoi
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 ...
décidément, nul et au choix...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
30 sept. 2016 à 15:02
30 sept. 2016 à 15:02
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 16:00
30 sept. 2016 à 16:00
Je n'ai pas dit que j'avais la science inffuse mais la méthode que Patrice33740 focntionne très bien pour ma première partie donc il ne faut pas prendre la mouche si je n'ai pas écouté tes conseils et que j'ai pris le code de Patrice33740 ...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
>
Feudora
Messages postés
81
Date d'inscription
mardi 5 juillet 2016
Statut
Membre
Dernière intervention
2 décembre 2016
30 sept. 2016 à 16:48
30 sept. 2016 à 16:48
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
30 sept. 2016 à 16:58
30 sept. 2016 à 16:58
Bonjour Michel,
N'ayant pas d'autres informations que celles de ce post, j'ai supposé qu'il cherche la première occurrence et dans ce cas le paramètre After est facultatif.
Son problème semble plutôt lié au fait qu'il copie des formules au lieu de copier les valeurs.
Très cordialement
Patrice
N'ayant pas d'autres informations que celles de ce post, j'ai supposé qu'il cherche la première occurrence et dans ce cas le paramètre After est facultatif.
Son problème semble plutôt lié au fait qu'il copie des formules au lieu de copier les valeurs.
Très cordialement
Patrice
29 sept. 2016 à 15:09
29 sept. 2016 à 15:32