Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

déplacement de cellules en cellules non contigues

8 réponses
Avatar
freedo
Bonjour =E0 toutes et =E0 Tous,
il y quelques mois j'ai re=E7u une aide sur une macro (ci-
dessous) et les intervenants se reconnaitrons surement.
Mais voil=E0 j'ai incorpor=E9 cette macro dans une feuille=20
(Euro)qui poss=E8de d=E9j=E0 quelques macros dans un module et=20
quand j'utilise ma feuille (avec ma macro)cela se met en=20
erreur sur la ligne=20
set ADr =3D ....=20
Pourquoi ?
Je n'ai pas reproduis les autres macros car cela prends=20
plus de 20 pages
Donc si il y a une =E2me charitable je pourrais lui envoyer=20
dans sa bal le fichier incrim=E9.
Merci de suivre,
freedo

8 réponses

Avatar
Philippe.R
Bonsoir Freedo,
Tu l'aurais pas oubliée, dis, la macro ? ;o))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"freedo" a écrit dans le message de
news:2c5201c39583$a6fcb6e0$
Bonjour à toutes et à Tous,
il y quelques mois j'ai reçu une aide sur une macro (ci-
dessous) et les intervenants se reconnaitrons surement.
Mais voilà j'ai incorporé cette macro dans une feuille
(Euro)qui possède déjà quelques macros dans un module et
quand j'utilise ma feuille (avec ma macro)cela se met en
erreur sur la ligne
set ADr = ....
Pourquoi ?
Je n'ai pas reproduis les autres macros car cela prends
plus de 20 pages
Donc si il y a une âme charitable je pourrais lui envoyer
dans sa bal le fichier incrimé.
Merci de suivre,
freedo
Avatar
freedo
oups !
Bonjour,
voici la macro,
mais c'est la ligne
Adr.Offset(0, decalage).Select
qui bloque!
il est peut etre possible que se soit une interférence
entre certaines actions ou paramètres déjà présente dans
la longue macro (pas reprise ici)?
Merci de suivre
Freedo
<--------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim Adr As Range
Dim MaPlage As Range, maRef As Range
Dim memoEvents As Boolean
Dim decalage As Integer
Set MaPlage = Range("f:f") 'plage de travail
Set maRef = Range("e:e") 'plage de référence
decalage = MaPlage.Column - maRef.Column 'décalage entre
la plage de travail et la plage de référence
If Not Intersect(MaPlage, Target) Is Nothing Then
If Selection.Cells.Count > 1 Then Exit Sub
If ActiveCell.Address = Range("G1").Address Then
Set MaPlage = Nothing ' libère l'espace mémoire
Set maRef = Nothing ' libère l'espace mémoire
Exit Sub
End If
With maRef
memoEvents = Application.EnableEvents
Application.EnableEvents = False
Set Adr = .Find("*", Range(ActiveCell.Offset(-1, -
decalage).Address), , , , xlNext)

Adr.Offset(0, decalage).Select

Application.EnableEvents = memoEvents 'conserve l'état
antérieur FALSE ou TRUE
End With
End If
Set MaPlage = Nothing ' libère l'espace mémoire
Set maRef = Nothing ' libère l'espace mémoire
End Sub
<--------
merci de suivre

-----Message d'origine-----
Bonsoir Freedo,
Tu l'aurais pas oubliée, dis, la macro ? ;o))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"freedo" a écrit
dans le message de

news:2c5201c39583$a6fcb6e0$
Bonjour à toutes et à Tous,
il y quelques mois j'ai reçu une aide sur une macro (ci-
dessous) et les intervenants se reconnaitrons surement.
Mais voilà j'ai incorporé cette macro dans une feuille
(Euro)qui possède déjà quelques macros dans un module et
quand j'utilise ma feuille (avec ma macro)cela se met en
erreur sur la ligne
Adr.Offset(0, decalage).Select
Pourquoi ?
Je n'ai pas reproduis les autres macros car cela prends
plus de 20 pages
Donc si il y a une âme charitable je pourrais lui envoyer
dans sa bal le fichier incrimé.
Merci de suivre,
freedo


.



Avatar
AV
Pour éviter d'avoir à décrypter, c'est quoi le but du jeu ?
Tel que décrit dans l'objet du message ?
Un exemple de réfs de cellules et l'ordre de déplacement serait le bienvenu !

AV
Avatar
Philippe.R
Bonjour Freedo,
Sur ce coup là, je soupçonne la variable Adr d'être dans le coup.
Juste avant la ligne qui bloque, glisse un

msgbox adr

qui te renverra le contenu de la variable et permettra de vérifier s'il n'y a pas incompatibilité avec
offset
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"freedo" a écrit dans le message de
news:035001c3960a$654e8570$
oups !
Bonjour,
voici la macro,
mais c'est la ligne
Adr.Offset(0, decalage).Select
qui bloque!
il est peut etre possible que se soit une interférence
entre certaines actions ou paramètres déjà présente dans
la longue macro (pas reprise ici)?
Merci de suivre
Freedo
<--------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim Adr As Range
Dim MaPlage As Range, maRef As Range
Dim memoEvents As Boolean
Dim decalage As Integer
Set MaPlage = Range("f:f") 'plage de travail
Set maRef = Range("e:e") 'plage de référence
decalage = MaPlage.Column - maRef.Column 'décalage entre
la plage de travail et la plage de référence
If Not Intersect(MaPlage, Target) Is Nothing Then
If Selection.Cells.Count > 1 Then Exit Sub
If ActiveCell.Address = Range("G1").Address Then
Set MaPlage = Nothing ' libère l'espace mémoire
Set maRef = Nothing ' libère l'espace mémoire
Exit Sub
End If
With maRef
memoEvents = Application.EnableEvents
Application.EnableEvents = False
Set Adr = .Find("*", Range(ActiveCell.Offset(-1, -
decalage).Address), , , , xlNext)

Adr.Offset(0, decalage).Select

Application.EnableEvents = memoEvents 'conserve l'état
antérieur FALSE ou TRUE
End With
End If
Set MaPlage = Nothing ' libère l'espace mémoire
Set maRef = Nothing ' libère l'espace mémoire
End Sub
<--------
merci de suivre

-----Message d'origine-----
Bonsoir Freedo,
Tu l'aurais pas oubliée, dis, la macro ? ;o))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"freedo" a écrit
dans le message de

news:2c5201c39583$a6fcb6e0$
Bonjour à toutes et à Tous,
il y quelques mois j'ai reçu une aide sur une macro (ci-
dessous) et les intervenants se reconnaitrons surement.
Mais voilà j'ai incorporé cette macro dans une feuille
(Euro)qui possède déjà quelques macros dans un module et
quand j'utilise ma feuille (avec ma macro)cela se met en
erreur sur la ligne
Adr.Offset(0, decalage).Select
Pourquoi ?
Je n'ai pas reproduis les autres macros car cela prends
plus de 20 pages
Donc si il y a une âme charitable je pourrais lui envoyer
dans sa bal le fichier incrimé.
Merci de suivre,
freedo


.



Avatar
AV
.....je dois entrer des valeurs dans la colonne G avec un deplacement vers le
bas apres la saisie.

Ce deplacement vers la cellule(vers le bas) est fonction de la presence d'une
valeur dans la colonne E.


Bon, comme d'autres ce sont déjà penché et que je vois pas le fil anté-déluvien
initial, juste qques grandes lignes :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Column <> 7 Then Exit Sub
If Range("E" & zz.Row) = "variable1 à définir" Then zz("variable2 à
définir", 1).Select
End Sub

AV

Avatar
Bonjour Philippe,
Merci pour ton aide;
j'ai essayé le test, mais rien n'y fait et je n'ai pas
d'autres précisions données par ce test
néanmoins j'ai essayé en supprimant les autres macros du
classeur ...et ca fonctionne.
Oui mais ! et les actions des autres macros alors.
je suis obligé de les remettres.
je vais encore tatonner plus loin...
Cordialement,
Freedo
-----Message d'origine-----
Bonjour Freedo,
Sur ce coup là, je soupçonne la variable Adr d'être dans
le coup.

Juste avant la ligne qui bloque, glisse un

msgbox adr

qui te renverra le contenu de la variable et permettra de
vérifier s'il n'y a pas incompatibilité avec

offset
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"freedo" a écrit
dans le message de

news:035001c3960a$654e8570$
oups !
Bonjour,
voici la macro,
mais c'est la ligne
Adr.Offset(0, decalage).Select
qui bloque!
il est peut etre possible que se soit une interférence
entre certaines actions ou paramètres déjà présente dans
la longue macro (pas reprise ici)?
Merci de suivre
Freedo
<--------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim Adr As Range
Dim MaPlage As Range, maRef As Range
Dim memoEvents As Boolean
Dim decalage As Integer
Set MaPlage = Range("f:f") 'plage de travail
Set maRef = Range("e:e") 'plage de référence
decalage = MaPlage.Column - maRef.Column 'décalage entre
la plage de travail et la plage de référence
If Not Intersect(MaPlage, Target) Is Nothing Then
If Selection.Cells.Count > 1 Then Exit Sub
If ActiveCell.Address = Range("G1").Address Then
Set MaPlage = Nothing ' libère l'espace mémoire
Set maRef = Nothing ' libère l'espace mémoire
Exit Sub
End If
With maRef
memoEvents = Application.EnableEvents
Application.EnableEvents = False
Set Adr = .Find("*", Range(ActiveCell.Offset(-1, -
decalage).Address), , , , xlNext)

Adr.Offset(0, decalage).Select

Application.EnableEvents = memoEvents 'conserve l'état
antérieur FALSE ou TRUE
End With
End If
Set MaPlage = Nothing ' libère l'espace mémoire
Set maRef = Nothing ' libère l'espace mémoire
End Sub
<--------
merci de suivre

-----Message d'origine-----
Bonsoir Freedo,
Tu l'aurais pas oubliée, dis, la macro ? ;o))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"freedo" a écrit
dans le message de

news:2c5201c39583$a6fcb6e0$
Bonjour à toutes et à Tous,
il y quelques mois j'ai reçu une aide sur une macro (ci-
dessous) et les intervenants se reconnaitrons surement.
Mais voilà j'ai incorporé cette macro dans une feuille
(Euro)qui possède déjà quelques macros dans un module et
quand j'utilise ma feuille (avec ma macro)cela se met en
erreur sur la ligne
Adr.Offset(0, decalage).Select
Pourquoi ?
Je n'ai pas reproduis les autres macros car cela prends
plus de 20 pages
Donc si il y a une âme charitable je pourrais lui envoyer
dans sa bal le fichier incrimé.
Merci de suivre,
freedo


.




.




Avatar
freedo
Bonjour Alain,
j'avoue ne pas comprendre où je dois placer ces lignes
dans ma macro ou bien si c'est en remplacement d'autres
lignes ?
Peux-tu m'en dire plus?
Merci de suivre,
cordialement,
Freedo
-----Message d'origine-----
.....je dois entrer des valeurs dans la colonne G avec
un deplacement vers le


bas apres la saisie.
Ce deplacement vers la cellule(vers le bas) est
fonction de la presence d'une


valeur dans la colonne E.

Bon, comme d'autres ce sont déjà penché et que je vois
pas le fil anté-déluvien

initial, juste qques grandes lignes :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Column <> 7 Then Exit Sub
If Range("E" & zz.Row) = "variable1 à définir" Then
zz("variable2 à

définir", 1).Select
End Sub

AV


.




Avatar
AV
j'avoue ne pas comprendre où je dois placer ces lignes
dans ma macro ou bien si c'est en remplacement d'autres


Dans le module de la feuille et en adaptant à ton cas

AV