Bonjour Daniel,
Je suis de retour !
Ton code fonctionne parfaitement sur l'exemple que tu m'as joint.
Je pense qu'il me manque quelques connaissances en VBA pour le faire
fonctionner sur n'importe qu'elle feuille.
Je l'ai copié dans un module existant de mon perso.xls : sans succès.
Ensuite, j'ai remarqué que la procédure était "Private". J'ai changé
"Private" en "Public" : sans succès non plus.
Ce n'est sans doute pas un problème de code, puisque ça marche très bien,
mais d'emplacement. Je voudrais en effet pouvoir me servir de cette macro
dans tous mes documents.
Désolé de te solliciter encore, si tu as le temps...
André
"Daniel" a écrit dans le message de news:
%23c%C'était nettement plus compliqué que je ne pensais :
- prise en compte des paramètres implicites (dernier paramètre omis)
- sélection mltiple
Teste :
http://cjoint.com/?mpakZuH74K
Daniel
"AB" a écrit dans le message de news:Daniel,
Doit y avoir un truc qui m'échappe.
Je t'ai mis un exemple là :
http://cjoint.com/?moxpz75mHn
J'obtiens une erreur après avoir entré la 1ère formule, lorsque je
recopie vers le bas.
A+
André
"Daniel" a écrit dans le message de news:Oui, j'ai volontairement limité le champ d'action de la macro. C'était
pour te montrer, si tu l'ignorais, mais j'ai oublié de te le dire.
Pour la recopie, je ne vois pas. tu peux me donner un exemple ou me
retourner le classeur avec des recopies.
Pour que la macro soit valable sans limitation de plage :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Tablo
For Each c In Target
If UCase(Left(c.Formula, 6)) = "=INDEX" Then
Tablo = Split(c.Formula, ",")
Range(Mid(Tablo(0), 8, 999)).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Copy
Application.EnableEvents = False
Target.PasteSpecial xlPasteFormats
Application.EnableEvents = True
End If
Next c
End Sub
Daniel
"AB" a écrit dans le message de news:Bonsoir Daniel,
Merci de t'intéresser au problème.
Ton code fonctionne, mais avec certaines limites :
1/ il semble qu'il faille déterminer une plage à l'intérieur de
laquelle on peut l'utiliser (D1:D20 dans ton exemple).
2/ la recopie vers le bas ou vers la droite de plusieurs cellules
(formules) donne des résultats hasardeux
S'agit-il de limitations incontournables ?
Bonne soirée,
André
"Daniel" a écrit dans le message de news:
%Classeur plus propre (sans module) :
http://cjoint.com/?mouDvDE7Xy
Daniel
"AB" a écrit dans le message de news:
%Bonjour Daniel,
Une macro ? Oui, bien sûr, ça m'intéresse.
Mais ce n'est pas suffisamment important pour y passer trop de
temps.
A+
André
"Daniel" a écrit dans le message de news:
%Bonjour.
Tu ne peux pas le faire avec des formules, il faut utiliser une
macro.
Si c'est ce que tu souhaites, dis-le.
Cordialement.
Daniel
"AB" a écrit dans le message de news:Bonjour à tous,
J'ai dans une plage des données, avec certains attributs (gras,
couleur,etc.).
Dans une autre plage de la même feuille, j'insère ces données via
la fonction INDEX.
Mais je perds les attributs...
Y a-t-il un moyen de les conserver dans la plage "destination",
tels qu'ils sont dans la plage "origine" ?
J'espère avoir été clair.
Merci d'avance de vos éventuelles réponses.
AB
Bonjour Daniel,
Je suis de retour !
Ton code fonctionne parfaitement sur l'exemple que tu m'as joint.
Je pense qu'il me manque quelques connaissances en VBA pour le faire
fonctionner sur n'importe qu'elle feuille.
Je l'ai copié dans un module existant de mon perso.xls : sans succès.
Ensuite, j'ai remarqué que la procédure était "Private". J'ai changé
"Private" en "Public" : sans succès non plus.
Ce n'est sans doute pas un problème de code, puisque ça marche très bien,
mais d'emplacement. Je voudrais en effet pouvoir me servir de cette macro
dans tous mes documents.
Désolé de te solliciter encore, si tu as le temps...
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23c%23NhV9HHHA.1468@TK2MSFTNGP04.phx.gbl...
C'était nettement plus compliqué que je ne pensais :
- prise en compte des paramètres implicites (dernier paramètre omis)
- sélection mltiple
Teste :
http://cjoint.com/?mpakZuH74K
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
e4lAY28HHHA.3312@TK2MSFTNGP03.phx.gbl...
Daniel,
Doit y avoir un truc qui m'échappe.
Je t'ai mis un exemple là :
http://cjoint.com/?moxpz75mHn
J'obtiens une erreur après avoir entré la 1ère formule, lorsque je
recopie vers le bas.
A+
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uuUiUe8HHHA.1280@TK2MSFTNGP04.phx.gbl...
Oui, j'ai volontairement limité le champ d'action de la macro. C'était
pour te montrer, si tu l'ignorais, mais j'ai oublié de te le dire.
Pour la recopie, je ne vois pas. tu peux me donner un exemple ou me
retourner le classeur avec des recopies.
Pour que la macro soit valable sans limitation de plage :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Tablo
For Each c In Target
If UCase(Left(c.Formula, 6)) = "=INDEX" Then
Tablo = Split(c.Formula, ",")
Range(Mid(Tablo(0), 8, 999)).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Copy
Application.EnableEvents = False
Target.PasteSpecial xlPasteFormats
Application.EnableEvents = True
End If
Next c
End Sub
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
eUAcRS8HHHA.1188@TK2MSFTNGP06.phx.gbl...
Bonsoir Daniel,
Merci de t'intéresser au problème.
Ton code fonctionne, mais avec certaines limites :
1/ il semble qu'il faille déterminer une plage à l'intérieur de
laquelle on peut l'utiliser (D1:D20 dans ton exemple).
2/ la recopie vers le bas ou vers la droite de plusieurs cellules
(formules) donne des résultats hasardeux
S'agit-il de limitations incontournables ?
Bonne soirée,
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%232N3GZ7HHHA.1044@TK2MSFTNGP02.phx.gbl...
Classeur plus propre (sans module) :
http://cjoint.com/?mouDvDE7Xy
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
%23xuiqJ1HHHA.3668@TK2MSFTNGP02.phx.gbl...
Bonjour Daniel,
Une macro ? Oui, bien sûr, ça m'intéresse.
Mais ce n'est pas suffisamment important pour y passer trop de
temps.
A+
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23XAa1gqHHHA.4760@TK2MSFTNGP03.phx.gbl...
Bonjour.
Tu ne peux pas le faire avec des formules, il faut utiliser une
macro.
Si c'est ce que tu souhaites, dis-le.
Cordialement.
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
etaEfJqHHHA.536@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
J'ai dans une plage des données, avec certains attributs (gras,
couleur,etc.).
Dans une autre plage de la même feuille, j'insère ces données via
la fonction INDEX.
Mais je perds les attributs...
Y a-t-il un moyen de les conserver dans la plage "destination",
tels qu'ils sont dans la plage "origine" ?
J'espère avoir été clair.
Merci d'avance de vos éventuelles réponses.
AB
Bonjour Daniel,
Je suis de retour !
Ton code fonctionne parfaitement sur l'exemple que tu m'as joint.
Je pense qu'il me manque quelques connaissances en VBA pour le faire
fonctionner sur n'importe qu'elle feuille.
Je l'ai copié dans un module existant de mon perso.xls : sans succès.
Ensuite, j'ai remarqué que la procédure était "Private". J'ai changé
"Private" en "Public" : sans succès non plus.
Ce n'est sans doute pas un problème de code, puisque ça marche très bien,
mais d'emplacement. Je voudrais en effet pouvoir me servir de cette macro
dans tous mes documents.
Désolé de te solliciter encore, si tu as le temps...
André
"Daniel" a écrit dans le message de news:
%23c%C'était nettement plus compliqué que je ne pensais :
- prise en compte des paramètres implicites (dernier paramètre omis)
- sélection mltiple
Teste :
http://cjoint.com/?mpakZuH74K
Daniel
"AB" a écrit dans le message de news:Daniel,
Doit y avoir un truc qui m'échappe.
Je t'ai mis un exemple là :
http://cjoint.com/?moxpz75mHn
J'obtiens une erreur après avoir entré la 1ère formule, lorsque je
recopie vers le bas.
A+
André
"Daniel" a écrit dans le message de news:Oui, j'ai volontairement limité le champ d'action de la macro. C'était
pour te montrer, si tu l'ignorais, mais j'ai oublié de te le dire.
Pour la recopie, je ne vois pas. tu peux me donner un exemple ou me
retourner le classeur avec des recopies.
Pour que la macro soit valable sans limitation de plage :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Tablo
For Each c In Target
If UCase(Left(c.Formula, 6)) = "=INDEX" Then
Tablo = Split(c.Formula, ",")
Range(Mid(Tablo(0), 8, 999)).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Copy
Application.EnableEvents = False
Target.PasteSpecial xlPasteFormats
Application.EnableEvents = True
End If
Next c
End Sub
Daniel
"AB" a écrit dans le message de news:Bonsoir Daniel,
Merci de t'intéresser au problème.
Ton code fonctionne, mais avec certaines limites :
1/ il semble qu'il faille déterminer une plage à l'intérieur de
laquelle on peut l'utiliser (D1:D20 dans ton exemple).
2/ la recopie vers le bas ou vers la droite de plusieurs cellules
(formules) donne des résultats hasardeux
S'agit-il de limitations incontournables ?
Bonne soirée,
André
"Daniel" a écrit dans le message de news:
%Classeur plus propre (sans module) :
http://cjoint.com/?mouDvDE7Xy
Daniel
"AB" a écrit dans le message de news:
%Bonjour Daniel,
Une macro ? Oui, bien sûr, ça m'intéresse.
Mais ce n'est pas suffisamment important pour y passer trop de
temps.
A+
André
"Daniel" a écrit dans le message de news:
%Bonjour.
Tu ne peux pas le faire avec des formules, il faut utiliser une
macro.
Si c'est ce que tu souhaites, dis-le.
Cordialement.
Daniel
"AB" a écrit dans le message de news:Bonjour à tous,
J'ai dans une plage des données, avec certains attributs (gras,
couleur,etc.).
Dans une autre plage de la même feuille, j'insère ces données via
la fonction INDEX.
Mais je perds les attributs...
Y a-t-il un moyen de les conserver dans la plage "destination",
tels qu'ils sont dans la plage "origine" ?
J'espère avoir été clair.
Merci d'avance de vos éventuelles réponses.
AB
Bonjour.
Au moins une partie du code doit se trouver dans le classeur.
J'ai modifié le classeur pour que la macro soit valable dans toutes les
feuilles. :
http://cjoint.com/?mqnPjKnYXk
Tu peux l'enregistrer comme modèle, ainsi la macro sera disponible dans
tous les classeurs créés d'après le modèle.
Il ya un cas ou la macro ne fonctionne pas :
=INDEX(Plage;A1+;B2*2)
quand la ligne ou la colonne résulte d'un calcul.
Cordialement.
Daniel
"AB" a écrit dans le message de news:Bonjour Daniel,
Je suis de retour !
Ton code fonctionne parfaitement sur l'exemple que tu m'as joint.
Je pense qu'il me manque quelques connaissances en VBA pour le faire
fonctionner sur n'importe qu'elle feuille.
Je l'ai copié dans un module existant de mon perso.xls : sans succès.
Ensuite, j'ai remarqué que la procédure était "Private". J'ai changé
"Private" en "Public" : sans succès non plus.
Ce n'est sans doute pas un problème de code, puisque ça marche très bien,
mais d'emplacement. Je voudrais en effet pouvoir me servir de cette macro
dans tous mes documents.
Désolé de te solliciter encore, si tu as le temps...
André
"Daniel" a écrit dans le message de news:
%23c%C'était nettement plus compliqué que je ne pensais :
- prise en compte des paramètres implicites (dernier paramètre omis)
- sélection mltiple
Teste :
http://cjoint.com/?mpakZuH74K
Daniel
"AB" a écrit dans le message de news:Daniel,
Doit y avoir un truc qui m'échappe.
Je t'ai mis un exemple là :
http://cjoint.com/?moxpz75mHn
J'obtiens une erreur après avoir entré la 1ère formule, lorsque je
recopie vers le bas.
A+
André
"Daniel" a écrit dans le message de news:Oui, j'ai volontairement limité le champ d'action de la macro. C'était
pour te montrer, si tu l'ignorais, mais j'ai oublié de te le dire.
Pour la recopie, je ne vois pas. tu peux me donner un exemple ou me
retourner le classeur avec des recopies.
Pour que la macro soit valable sans limitation de plage :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Tablo
For Each c In Target
If UCase(Left(c.Formula, 6)) = "=INDEX" Then
Tablo = Split(c.Formula, ",")
Range(Mid(Tablo(0), 8, 999)).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Copy
Application.EnableEvents = False
Target.PasteSpecial xlPasteFormats
Application.EnableEvents = True
End If
Next c
End Sub
Daniel
"AB" a écrit dans le message de news:Bonsoir Daniel,
Merci de t'intéresser au problème.
Ton code fonctionne, mais avec certaines limites :
1/ il semble qu'il faille déterminer une plage à l'intérieur de
laquelle on peut l'utiliser (D1:D20 dans ton exemple).
2/ la recopie vers le bas ou vers la droite de plusieurs cellules
(formules) donne des résultats hasardeux
S'agit-il de limitations incontournables ?
Bonne soirée,
André
"Daniel" a écrit dans le message de news:
%Classeur plus propre (sans module) :
http://cjoint.com/?mouDvDE7Xy
Daniel
"AB" a écrit dans le message de news:
%Bonjour Daniel,
Une macro ? Oui, bien sûr, ça m'intéresse.
Mais ce n'est pas suffisamment important pour y passer trop de
temps.
A+
André
"Daniel" a écrit dans le message de news:
%Bonjour.
Tu ne peux pas le faire avec des formules, il faut utiliser une
macro.
Si c'est ce que tu souhaites, dis-le.
Cordialement.
Daniel
"AB" a écrit dans le message de
news:Bonjour à tous,
J'ai dans une plage des données, avec certains attributs (gras,
couleur,etc.).
Dans une autre plage de la même feuille, j'insère ces données via
la fonction INDEX.
Mais je perds les attributs...
Y a-t-il un moyen de les conserver dans la plage "destination",
tels qu'ils sont dans la plage "origine" ?
J'espère avoir été clair.
Merci d'avance de vos éventuelles réponses.
AB
Bonjour.
Au moins une partie du code doit se trouver dans le classeur.
J'ai modifié le classeur pour que la macro soit valable dans toutes les
feuilles. :
http://cjoint.com/?mqnPjKnYXk
Tu peux l'enregistrer comme modèle, ainsi la macro sera disponible dans
tous les classeurs créés d'après le modèle.
Il ya un cas ou la macro ne fonctionne pas :
=INDEX(Plage;A1+;B2*2)
quand la ligne ou la colonne résulte d'un calcul.
Cordialement.
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
uflQCfPIHHA.3312@TK2MSFTNGP03.phx.gbl...
Bonjour Daniel,
Je suis de retour !
Ton code fonctionne parfaitement sur l'exemple que tu m'as joint.
Je pense qu'il me manque quelques connaissances en VBA pour le faire
fonctionner sur n'importe qu'elle feuille.
Je l'ai copié dans un module existant de mon perso.xls : sans succès.
Ensuite, j'ai remarqué que la procédure était "Private". J'ai changé
"Private" en "Public" : sans succès non plus.
Ce n'est sans doute pas un problème de code, puisque ça marche très bien,
mais d'emplacement. Je voudrais en effet pouvoir me servir de cette macro
dans tous mes documents.
Désolé de te solliciter encore, si tu as le temps...
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23c%23NhV9HHHA.1468@TK2MSFTNGP04.phx.gbl...
C'était nettement plus compliqué que je ne pensais :
- prise en compte des paramètres implicites (dernier paramètre omis)
- sélection mltiple
Teste :
http://cjoint.com/?mpakZuH74K
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
e4lAY28HHHA.3312@TK2MSFTNGP03.phx.gbl...
Daniel,
Doit y avoir un truc qui m'échappe.
Je t'ai mis un exemple là :
http://cjoint.com/?moxpz75mHn
J'obtiens une erreur après avoir entré la 1ère formule, lorsque je
recopie vers le bas.
A+
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uuUiUe8HHHA.1280@TK2MSFTNGP04.phx.gbl...
Oui, j'ai volontairement limité le champ d'action de la macro. C'était
pour te montrer, si tu l'ignorais, mais j'ai oublié de te le dire.
Pour la recopie, je ne vois pas. tu peux me donner un exemple ou me
retourner le classeur avec des recopies.
Pour que la macro soit valable sans limitation de plage :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Tablo
For Each c In Target
If UCase(Left(c.Formula, 6)) = "=INDEX" Then
Tablo = Split(c.Formula, ",")
Range(Mid(Tablo(0), 8, 999)).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Copy
Application.EnableEvents = False
Target.PasteSpecial xlPasteFormats
Application.EnableEvents = True
End If
Next c
End Sub
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
eUAcRS8HHHA.1188@TK2MSFTNGP06.phx.gbl...
Bonsoir Daniel,
Merci de t'intéresser au problème.
Ton code fonctionne, mais avec certaines limites :
1/ il semble qu'il faille déterminer une plage à l'intérieur de
laquelle on peut l'utiliser (D1:D20 dans ton exemple).
2/ la recopie vers le bas ou vers la droite de plusieurs cellules
(formules) donne des résultats hasardeux
S'agit-il de limitations incontournables ?
Bonne soirée,
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%232N3GZ7HHHA.1044@TK2MSFTNGP02.phx.gbl...
Classeur plus propre (sans module) :
http://cjoint.com/?mouDvDE7Xy
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de news:
%23xuiqJ1HHHA.3668@TK2MSFTNGP02.phx.gbl...
Bonjour Daniel,
Une macro ? Oui, bien sûr, ça m'intéresse.
Mais ce n'est pas suffisamment important pour y passer trop de
temps.
A+
André
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23XAa1gqHHHA.4760@TK2MSFTNGP03.phx.gbl...
Bonjour.
Tu ne peux pas le faire avec des formules, il faut utiliser une
macro.
Si c'est ce que tu souhaites, dis-le.
Cordialement.
Daniel
"AB" <ABspamophobe1@marseille.com> a écrit dans le message de
news: etaEfJqHHHA.536@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
J'ai dans une plage des données, avec certains attributs (gras,
couleur,etc.).
Dans une autre plage de la même feuille, j'insère ces données via
la fonction INDEX.
Mais je perds les attributs...
Y a-t-il un moyen de les conserver dans la plage "destination",
tels qu'ils sont dans la plage "origine" ?
J'espère avoir été clair.
Merci d'avance de vos éventuelles réponses.
AB
Bonjour.
Au moins une partie du code doit se trouver dans le classeur.
J'ai modifié le classeur pour que la macro soit valable dans toutes les
feuilles. :
http://cjoint.com/?mqnPjKnYXk
Tu peux l'enregistrer comme modèle, ainsi la macro sera disponible dans
tous les classeurs créés d'après le modèle.
Il ya un cas ou la macro ne fonctionne pas :
=INDEX(Plage;A1+;B2*2)
quand la ligne ou la colonne résulte d'un calcul.
Cordialement.
Daniel
"AB" a écrit dans le message de news:Bonjour Daniel,
Je suis de retour !
Ton code fonctionne parfaitement sur l'exemple que tu m'as joint.
Je pense qu'il me manque quelques connaissances en VBA pour le faire
fonctionner sur n'importe qu'elle feuille.
Je l'ai copié dans un module existant de mon perso.xls : sans succès.
Ensuite, j'ai remarqué que la procédure était "Private". J'ai changé
"Private" en "Public" : sans succès non plus.
Ce n'est sans doute pas un problème de code, puisque ça marche très bien,
mais d'emplacement. Je voudrais en effet pouvoir me servir de cette macro
dans tous mes documents.
Désolé de te solliciter encore, si tu as le temps...
André
"Daniel" a écrit dans le message de news:
%23c%C'était nettement plus compliqué que je ne pensais :
- prise en compte des paramètres implicites (dernier paramètre omis)
- sélection mltiple
Teste :
http://cjoint.com/?mpakZuH74K
Daniel
"AB" a écrit dans le message de news:Daniel,
Doit y avoir un truc qui m'échappe.
Je t'ai mis un exemple là :
http://cjoint.com/?moxpz75mHn
J'obtiens une erreur après avoir entré la 1ère formule, lorsque je
recopie vers le bas.
A+
André
"Daniel" a écrit dans le message de news:Oui, j'ai volontairement limité le champ d'action de la macro. C'était
pour te montrer, si tu l'ignorais, mais j'ai oublié de te le dire.
Pour la recopie, je ne vois pas. tu peux me donner un exemple ou me
retourner le classeur avec des recopies.
Pour que la macro soit valable sans limitation de plage :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Tablo
For Each c In Target
If UCase(Left(c.Formula, 6)) = "=INDEX" Then
Tablo = Split(c.Formula, ",")
Range(Mid(Tablo(0), 8, 999)).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Select
Range(Mid(Tablo(0), 8, 999))(CInt(Tablo(1)),
CInt(Left(Tablo(2), _
Len(Tablo(2)) - 1))).Copy
Application.EnableEvents = False
Target.PasteSpecial xlPasteFormats
Application.EnableEvents = True
End If
Next c
End Sub
Daniel
"AB" a écrit dans le message de news:Bonsoir Daniel,
Merci de t'intéresser au problème.
Ton code fonctionne, mais avec certaines limites :
1/ il semble qu'il faille déterminer une plage à l'intérieur de
laquelle on peut l'utiliser (D1:D20 dans ton exemple).
2/ la recopie vers le bas ou vers la droite de plusieurs cellules
(formules) donne des résultats hasardeux
S'agit-il de limitations incontournables ?
Bonne soirée,
André
"Daniel" a écrit dans le message de news:
%Classeur plus propre (sans module) :
http://cjoint.com/?mouDvDE7Xy
Daniel
"AB" a écrit dans le message de news:
%Bonjour Daniel,
Une macro ? Oui, bien sûr, ça m'intéresse.
Mais ce n'est pas suffisamment important pour y passer trop de
temps.
A+
André
"Daniel" a écrit dans le message de news:
%Bonjour.
Tu ne peux pas le faire avec des formules, il faut utiliser une
macro.
Si c'est ce que tu souhaites, dis-le.
Cordialement.
Daniel
"AB" a écrit dans le message de
news:Bonjour à tous,
J'ai dans une plage des données, avec certains attributs (gras,
couleur,etc.).
Dans une autre plage de la même feuille, j'insère ces données via
la fonction INDEX.
Mais je perds les attributs...
Y a-t-il un moyen de les conserver dans la plage "destination",
tels qu'ils sont dans la plage "origine" ?
J'espère avoir été clair.
Merci d'avance de vos éventuelles réponses.
AB