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

Copier format

35 réponses
Avatar
Guy85
Pour copier le format d'une ligne,il faut faire =>Copier, sélectionner la
ligne, sélectionner collage spécial, format et OK<=
Est-il possible de simplifier cette tache quand il faut le coller toute les
deux lignes ?
Pareil pour "insérer".
Merci de votre aide.
Cordialement
Guy

5 réponses

1 2 3 4
Avatar
Guy85
Bonjour Daniel.,
J'ai pris le fichier que je t'ai envoyé, j'ai supprimé les lignes qui était
déjà insérées à partir de la ligne 222.
Donc à partir de la ligne 222, il n'y a plus de lignes insérées.
J'ai fais les opérations suivantes:.
1) Clic sur le bouton (apparition de la fenêtre "Entrée"
2) Clic sur la ligne 218 (sélection de la ligne + texte de la ligne dans la
fenêtre "$218:$218").
3) Clic sur OK (changement de texte dans la fenêtre).
4) Clic sur la ligne 222 (sélection de la ligne + texte de la ligne dans la
fenêtre "$222:$222").
5) Clic sur OK (apparition de la fenêtre "Visual Basic" avec le message :
Erreur d'éxécution' 424': Objet requis.)
6) Clic sur Débogage (la 4ème ligne du code est en jaune.
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
O1LGv$
Ca fonctionne chez moi ? Peux-tu reproduuire le problème, et, si oui, me
communiquer les lignes que tu sélectionnes.
Daniel

J'ai essayé avec cette feuille, ça a fonctionné une fois avec 4 lignes,
puis après plus rien.
Guy
Ci joint: http://www.cijoint.fr/cjlink.php?file=cj201002/cijb34TV8o.xls


"Daniel.C" a écrit dans le message de news:

Essaie sur un classeur vierge. Sinon, envoie-moi via cjoint lafeuille
qui pose problème.
Daniel

J'ai pas de chance, ça fonctionne sur ton classeur, par-contre sur le
mien, ça ne fonctionne qu'une seule fois.
Ce coup là, c'est au 2ème "OK"
Guy

"Daniel.C" a écrit dans le message de news:

Remplace le code du bouton par celui-ci :
Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, Copier As Range
Set rcopier = Application.InputBox("Sélectionnez la ligne à copier",
Type:=8)
Set rInsere = Application.InputBox("Sélectionnez la ligne; l'insertion
se fera dessous", Type:=8)
For Each a In rInsere.Areas
Rows(a.Row + 1).Insert
rcopier.Copy
Rows(a.Row + 1).PasteSpecial xlPasteFormats
Next
End Sub
Daniel


Euréka !!!, je n'ai plus le problème.
Je suppose que ça fonctionne puisque le texte descend
Mais, je ne comprends pas pourquoi cela ne copie pas la ligne en
jaune ?
Car j'ai besoin justement de recopier ce format.
Guy

"Daniel.C" a écrit dans le message de
news:
Essaie avec mon classeur :
http://cjoint.com/?cboDzE6GlU
Daniel

Non il n'y a pas de MFC, se sont juste des lignes de séparation.
Guy

"Daniel.C" a écrit dans le message de
news: %
J'ai cherché sur internet et j'ai vu qu'il y avait un problème si
il y avait des mises en forme conditionnelles utilisant "la
formule est:"
Est-ce ton cas ?
Daniel

J'ai Excel 2003
J'ai toujours la même réponse, dès que je fais "OK", j'ai
("Erreur d'exécution "424": Objet requis) et la 3ème ligne est
surlignée.
Guy

"Daniel.C" a écrit dans le message de
news: %
Utilise le code suivant en sélection les lignes destinataires,
une par une (en te servant de la toouche Ctrl à partir de la
deuxième)

Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, r As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Set rDesti = Application.InputBox("Sélectionnez les lignes
destinataires", Type:=8)
For Each a In rDesti.Areas
Rows(a.Row + 1).Insert
Next
End Sub

Daniel

D'accord, ça fonctionne pareil.
Mais, je souhaitais pourvoir sélectionner la ligne 174 et
insérer cette ligne en ligne 176,178,180,182 .....etc
Ou (si possible?) sélectionner les lignes, ou doit s'insérer la
ligne 174 (avant ou après).
J'ai essayé de mettre"Row +2", mais ça ne vas pas.
Guy

"Daniel.C" a écrit dans le message
de news:
Regarde le classeur ici :
http://cjoint.com/?cblvdNFvzj
Je l'ai testé avec XL2003 et XL2010 beta. Si l'erreur
persiste, indique-moi la versioin avec laquelle tu travailles.
Cordialement.
Daniel


Bonjour Daniel,
Je sélectionne la ligne à insérer.
Par exemple "ligne 174", ça me mets dans la fenêtre
"$174:$174", je fais "OK", et là ça me surligne en jaune la
3ème ligne du code.
Dommage, le principe me plais.
Guy

"Daniel.C" a écrit dans le message
de news:
Bonjour.
Essaie :

Sub InsereLigne()
Dim rInsere As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Rows(rInsere.Row + 1).Insert
End Sub

Daniel

Oui, je l'ai testé.
Cette macro, insert une ligne à la suite de l'autre
....etc.
Mais il faudrait que je puisse choisir les lignes ou je
dois la réinsérer .
Guy

"Daniel.C" a écrit dans le
message de news:
C'est le classeur provoquant une erreur à la recopie de
format dont j'avais besoin. Dans le fil sur l'insertion,
je t'ai envoyé une macro. L'as-tu testé ?
Daniel

Je t'envoie un brouillon.
ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij88OrO9w.xls
Guy

"Daniel.C" a écrit dans le
message de news:
Peux-tu mettre ton classeur sur www.cjoint.com ?
Daniel

J'ai mis un bouton pour la macro.
Arrive la fenêtre "choisir la ligne à copier".
Je sélectionne la ligne,=>OK, mis ça ne fonctionne
pas,ça me surligne en jaune la ligne 3 de la macro.
Guy

"Daniel.C" a écrit dans le
message de news:

Bonjour.
Le fait de faire "Macro, Exécuter" annule le copier.
La macro suivante te demande la ligne à copier, les
lignes où le collage doit s'effectuer et effectue le
copier et le coller une ligne sur deux :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long, Copier As Range, Coller As Range
Set Copier = Application.InputBox("Sélectionnez la
ligne à copier", Type:=8)
Set Coller = Application.InputBox("Sélectionnez les
lignes destinataires", Type:=8)
Copier.Copy
For i = Coller.Row To Coller.Row + Coller.Rows.Count -
1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Bonjour Daniel,
Par exemple, j'ai copié la "ligne 4", j'ai
sélectionné la "ligne 81", puis =>Macro =>Exécuter.
Guy

"Daniel.C" <dcola, a écrit dans
le message de news:

Quelle ligne as-tu copiée et quelle zone as-tu
sélectionnée ?
Daniel

Bonjour Daniel,
Elle ne fonctionne pas, j'ai la ligne 4 qui est en
jaune.
Avec le message :"La méthode PasteSpécial de la
classe Range à échoué".
Cordialement
Guy

"Daniel.C" a écrit dans
le message de news:
OC$
Bonjour.
Essaie :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long
For i = Selection.Row To Selection.Row +
Selection.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Pour copier le format d'une ligne,il faut faire
=>Copier, sélectionner la ligne, sélectionner
collage spécial, format et OK< >>>>>>>>>>>>>>>>>>>>>>>>>> Est-il possible de simplifier cette tache quand
il faut le coller toute les deux lignes ?
Pareil pour "insérer".
Merci de votre aide.
Cordialement
Guy














































































Avatar
Daniel.C
Bonjour.
Le problème vient de ta feuille. J'ai ajouté une feuille et un bouton
et tout fonctionne normalement :
http://cjoint.com/?cck5J05BzG
Daniel

Bonjour Daniel.,
J'ai pris le fichier que je t'ai envoyé, j'ai supprimé les lignes qui était
déjà insérées à partir de la ligne 222.
Donc à partir de la ligne 222, il n'y a plus de lignes insérées.
J'ai fais les opérations suivantes:.
1) Clic sur le bouton (apparition de la fenêtre "Entrée"
2) Clic sur la ligne 218 (sélection de la ligne + texte de la ligne dans la
fenêtre "$218:$218").
3) Clic sur OK (changement de texte dans la fenêtre).
4) Clic sur la ligne 222 (sélection de la ligne + texte de la ligne dans la
fenêtre "$222:$222").
5) Clic sur OK (apparition de la fenêtre "Visual Basic" avec le message :
Erreur d'éxécution' 424': Objet requis.)
6) Clic sur Débogage (la 4ème ligne du code est en jaune.
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
O1LGv$
Ca fonctionne chez moi ? Peux-tu reproduuire le problème, et, si oui, me
communiquer les lignes que tu sélectionnes.
Daniel

J'ai essayé avec cette feuille, ça a fonctionné une fois avec 4 lignes,
puis après plus rien.
Guy
Ci joint: http://www.cijoint.fr/cjlink.php?file=cj201002/cijb34TV8o.xls


"Daniel.C" a écrit dans le message de news:

Essaie sur un classeur vierge. Sinon, envoie-moi via cjoint lafeuille qui
pose problème.
Daniel

J'ai pas de chance, ça fonctionne sur ton classeur, par-contre sur le
mien, ça ne fonctionne qu'une seule fois.
Ce coup là, c'est au 2ème "OK"
Guy

"Daniel.C" a écrit dans le message de news:

Remplace le code du bouton par celui-ci :
Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, Copier As Range
Set rcopier = Application.InputBox("Sélectionnez la ligne à copier",
Type:=8)
Set rInsere = Application.InputBox("Sélectionnez la ligne; l'insertion
se fera dessous", Type:=8)
For Each a In rInsere.Areas
Rows(a.Row + 1).Insert
rcopier.Copy
Rows(a.Row + 1).PasteSpecial xlPasteFormats
Next
End Sub
Daniel


Euréka !!!, je n'ai plus le problème.
Je suppose que ça fonctionne puisque le texte descend
Mais, je ne comprends pas pourquoi cela ne copie pas la ligne en jaune
?
Car j'ai besoin justement de recopier ce format.
Guy

"Daniel.C" a écrit dans le message de news:

Essaie avec mon classeur :
http://cjoint.com/?cboDzE6GlU
Daniel

Non il n'y a pas de MFC, se sont juste des lignes de séparation.
Guy

"Daniel.C" a écrit dans le message de
news: %
J'ai cherché sur internet et j'ai vu qu'il y avait un problème si
il y avait des mises en forme conditionnelles utilisant "la formule
est:"
Est-ce ton cas ?
Daniel

J'ai Excel 2003
J'ai toujours la même réponse, dès que je fais "OK", j'ai ("Erreur
d'exécution "424": Objet requis) et la 3ème ligne est surlignée.
Guy

"Daniel.C" a écrit dans le message de
news: %
Utilise le code suivant en sélection les lignes destinataires,
une par une (en te servant de la toouche Ctrl à partir de la
deuxième)

Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, r As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Set rDesti = Application.InputBox("Sélectionnez les lignes
destinataires", Type:=8)
For Each a In rDesti.Areas
Rows(a.Row + 1).Insert
Next
End Sub

Daniel

D'accord, ça fonctionne pareil.
Mais, je souhaitais pourvoir sélectionner la ligne 174 et
insérer cette ligne en ligne 176,178,180,182 .....etc
Ou (si possible?) sélectionner les lignes, ou doit s'insérer la
ligne 174 (avant ou après).
J'ai essayé de mettre"Row +2", mais ça ne vas pas.
Guy

"Daniel.C" a écrit dans le message de
news:
Regarde le classeur ici :
http://cjoint.com/?cblvdNFvzj
Je l'ai testé avec XL2003 et XL2010 beta. Si l'erreur persiste,
indique-moi la versioin avec laquelle tu travailles.
Cordialement.
Daniel


Bonjour Daniel,
Je sélectionne la ligne à insérer.
Par exemple "ligne 174", ça me mets dans la fenêtre
"$174:$174", je fais "OK", et là ça me surligne en jaune la
3ème ligne du code.
Dommage, le principe me plais.
Guy

"Daniel.C" a écrit dans le message
de news:
Bonjour.
Essaie :

Sub InsereLigne()
Dim rInsere As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Rows(rInsere.Row + 1).Insert
End Sub

Daniel

Oui, je l'ai testé.
Cette macro, insert une ligne à la suite de l'autre ....etc.
Mais il faudrait que je puisse choisir les lignes ou je dois
la réinsérer .
Guy

"Daniel.C" a écrit dans le
message de news:
C'est le classeur provoquant une erreur à la recopie de
format dont j'avais besoin. Dans le fil sur l'insertion, je
t'ai envoyé une macro. L'as-tu testé ?
Daniel

Je t'envoie un brouillon.
ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij88OrO9w.xls
Guy

"Daniel.C" a écrit dans le
message de news:
Peux-tu mettre ton classeur sur www.cjoint.com ?
Daniel

J'ai mis un bouton pour la macro.
Arrive la fenêtre "choisir la ligne à copier".
Je sélectionne la ligne,=>OK, mis ça ne fonctionne
pas,ça me surligne en jaune la ligne 3 de la macro.
Guy

"Daniel.C" a écrit dans le
message de news:

Bonjour.
Le fait de faire "Macro, Exécuter" annule le copier. La
macro suivante te demande la ligne à copier, les lignes
où le collage doit s'effectuer et effectue le copier et
le coller une ligne sur deux :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long, Copier As Range, Coller As Range
Set Copier = Application.InputBox("Sélectionnez la
ligne à copier", Type:=8)
Set Coller = Application.InputBox("Sélectionnez les
lignes destinataires", Type:=8)
Copier.Copy
For i = Coller.Row To Coller.Row + Coller.Rows.Count -
1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Bonjour Daniel,
Par exemple, j'ai copié la "ligne 4", j'ai sélectionné
la "ligne 81", puis =>Macro =>Exécuter.
Guy

"Daniel.C" <dcola, a écrit dans le
message de news:

Quelle ligne as-tu copiée et quelle zone as-tu
sélectionnée ?
Daniel

Bonjour Daniel,
Elle ne fonctionne pas, j'ai la ligne 4 qui est en
jaune.
Avec le message :"La méthode PasteSpécial de la
classe Range à échoué".
Cordialement
Guy

"Daniel.C" a écrit dans
le message de news:
OC$
Bonjour.
Essaie :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long
For i = Selection.Row To Selection.Row +
Selection.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Pour copier le format d'une ligne,il faut faire
=>Copier, sélectionner la ligne, sélectionner
collage spécial, format et OK< >>>>>>>>>>>>>>>>>>>>>>>>>>> Est-il possible de simplifier cette tache quand il
faut le coller toute les deux lignes ?
Pareil pour "insérer".
Merci de votre aide.
Cordialement
Guy
















































































Avatar
Guy85
Bonjour,
Dans le classeur reçu.
Effectivement, j'ai fais l'essai dans la "Feuil1" et dans la feuille
"Données".
Feuil1 "OK".
Feuille "Données" Erreur.

Comment solutionner le problème, si je copie sur une autre feuille, je pense
que rien ne vas changer ?
Sinon, il faut que je recommence ma feuille, et là ..............
En tout cas merci de ton aide.
Guy

"Daniel.C" a écrit dans le message de news:
%23OuFg5%
Bonjour.
Le problème vient de ta feuille. J'ai ajouté une feuille et un bouton et
tout fonctionne normalement :
http://cjoint.com/?cck5J05BzG
Daniel

Bonjour Daniel.,
J'ai pris le fichier que je t'ai envoyé, j'ai supprimé les lignes qui
était déjà insérées à partir de la ligne 222.
Donc à partir de la ligne 222, il n'y a plus de lignes insérées.
J'ai fais les opérations suivantes:.
1) Clic sur le bouton (apparition de la fenêtre "Entrée"
2) Clic sur la ligne 218 (sélection de la ligne + texte de la ligne dans
la fenêtre "$218:$218").
3) Clic sur OK (changement de texte dans la fenêtre).
4) Clic sur la ligne 222 (sélection de la ligne + texte de la ligne dans
la fenêtre "$222:$222").
5) Clic sur OK (apparition de la fenêtre "Visual Basic" avec le message :
Erreur d'éxécution' 424': Objet requis.)
6) Clic sur Débogage (la 4ème ligne du code est en jaune.
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
O1LGv$
Ca fonctionne chez moi ? Peux-tu reproduuire le problème, et, si oui, me
communiquer les lignes que tu sélectionnes.
Daniel

J'ai essayé avec cette feuille, ça a fonctionné une fois avec 4 lignes,
puis après plus rien.
Guy
Ci joint: http://www.cijoint.fr/cjlink.php?file=cj201002/cijb34TV8o.xls


"Daniel.C" a écrit dans le message de news:

Essaie sur un classeur vierge. Sinon, envoie-moi via cjoint lafeuille
qui pose problème.
Daniel

J'ai pas de chance, ça fonctionne sur ton classeur, par-contre sur le
mien, ça ne fonctionne qu'une seule fois.
Ce coup là, c'est au 2ème "OK"
Guy

"Daniel.C" a écrit dans le message de
news:
Remplace le code du bouton par celui-ci :
Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, Copier As Range
Set rcopier = Application.InputBox("Sélectionnez la ligne à copier",
Type:=8)
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
For Each a In rInsere.Areas
Rows(a.Row + 1).Insert
rcopier.Copy
Rows(a.Row + 1).PasteSpecial xlPasteFormats
Next
End Sub
Daniel


Euréka !!!, je n'ai plus le problème.
Je suppose que ça fonctionne puisque le texte descend
Mais, je ne comprends pas pourquoi cela ne copie pas la ligne en
jaune ?
Car j'ai besoin justement de recopier ce format.
Guy

"Daniel.C" a écrit dans le message de
news:
Essaie avec mon classeur :
http://cjoint.com/?cboDzE6GlU
Daniel

Non il n'y a pas de MFC, se sont juste des lignes de séparation.
Guy

"Daniel.C" a écrit dans le message de
news: %
J'ai cherché sur internet et j'ai vu qu'il y avait un problème
si il y avait des mises en forme conditionnelles utilisant "la
formule est:"
Est-ce ton cas ?
Daniel

J'ai Excel 2003
J'ai toujours la même réponse, dès que je fais "OK", j'ai
("Erreur d'exécution "424": Objet requis) et la 3ème ligne est
surlignée.
Guy

"Daniel.C" a écrit dans le message
de news: %
Utilise le code suivant en sélection les lignes destinataires,
une par une (en te servant de la toouche Ctrl à partir de la
deuxième)

Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, r As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Set rDesti = Application.InputBox("Sélectionnez les lignes
destinataires", Type:=8)
For Each a In rDesti.Areas
Rows(a.Row + 1).Insert
Next
End Sub

Daniel

D'accord, ça fonctionne pareil.
Mais, je souhaitais pourvoir sélectionner la ligne 174 et
insérer cette ligne en ligne 176,178,180,182 .....etc
Ou (si possible?) sélectionner les lignes, ou doit s'insérer
la ligne 174 (avant ou après).
J'ai essayé de mettre"Row +2", mais ça ne vas pas.
Guy

"Daniel.C" a écrit dans le message
de news:
Regarde le classeur ici :
http://cjoint.com/?cblvdNFvzj
Je l'ai testé avec XL2003 et XL2010 beta. Si l'erreur
persiste, indique-moi la versioin avec laquelle tu
travailles.
Cordialement.
Daniel


Bonjour Daniel,
Je sélectionne la ligne à insérer.
Par exemple "ligne 174", ça me mets dans la fenêtre
"$174:$174", je fais "OK", et là ça me surligne en jaune la
3ème ligne du code.
Dommage, le principe me plais.
Guy

"Daniel.C" a écrit dans le
message de news:
Bonjour.
Essaie :

Sub InsereLigne()
Dim rInsere As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Rows(rInsere.Row + 1).Insert
End Sub

Daniel

Oui, je l'ai testé.
Cette macro, insert une ligne à la suite de l'autre
....etc.
Mais il faudrait que je puisse choisir les lignes ou je
dois la réinsérer .
Guy

"Daniel.C" a écrit dans le
message de news:
C'est le classeur provoquant une erreur à la recopie de
format dont j'avais besoin. Dans le fil sur l'insertion,
je t'ai envoyé une macro. L'as-tu testé ?
Daniel

Je t'envoie un brouillon.
ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij88OrO9w.xls
Guy

"Daniel.C" a écrit dans le
message de news:

Peux-tu mettre ton classeur sur www.cjoint.com ?
Daniel

J'ai mis un bouton pour la macro.
Arrive la fenêtre "choisir la ligne à copier".
Je sélectionne la ligne,=>OK, mis ça ne fonctionne
pas,ça me surligne en jaune la ligne 3 de la macro.
Guy

"Daniel.C" a écrit dans le
message de news:

Bonjour.
Le fait de faire "Macro, Exécuter" annule le copier.
La macro suivante te demande la ligne à copier, les
lignes où le collage doit s'effectuer et effectue le
copier et le coller une ligne sur deux :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long, Copier As Range, Coller As Range
Set Copier = Application.InputBox("Sélectionnez la
ligne à copier", Type:=8)
Set Coller = Application.InputBox("Sélectionnez les
lignes destinataires", Type:=8)
Copier.Copy
For i = Coller.Row To Coller.Row +
Coller.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Bonjour Daniel,
Par exemple, j'ai copié la "ligne 4", j'ai
sélectionné la "ligne 81", puis =>Macro =>Exécuter.
Guy

"Daniel.C" <dcola, a écrit dans
le message de news:

Quelle ligne as-tu copiée et quelle zone as-tu
sélectionnée ?
Daniel

Bonjour Daniel,
Elle ne fonctionne pas, j'ai la ligne 4 qui est
en jaune.
Avec le message :"La méthode PasteSpécial de la
classe Range à échoué".
Cordialement
Guy

"Daniel.C" a écrit
dans le message de news:
OC$
Bonjour.
Essaie :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long
For i = Selection.Row To Selection.Row +
Selection.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Pour copier le format d'une ligne,il faut faire
=>Copier, sélectionner la ligne, sélectionner
collage spécial, format et OK< >>>>>>>>>>>>>>>>>>>>>>>>>>>> Est-il possible de simplifier cette tache quand
il faut le coller toute les deux lignes ?
Pareil pour "insérer".
Merci de votre aide.
Cordialement
Guy




















































































Avatar
Daniel.C
J'ai ôté le code avec les "application.inputbox". La macro suivante
semble fonctionner, mais, bon, elle est moins pratique; il faut entrer
d'abord le numéro de la ligne à copier puis les numéros de ligne où on
doit faire l'insertion. Les uméros doivent être séparés par des ";".

Private Sub CommandButton1_Click()
Dim rInsere As String, a, Copier As Long
rCopier = Application.InputBox("Entrez le numéro de la ligne à copier")
rInsere = Application.InputBox("Sélectionnez les numéros de ligne
séparés par des "";""; l'insertion se fera dessous")
tablo = Split(rInsere, ";")
For Each Item In tablo
Rows(Item + 1).Insert
Rows(rCopier).Copy
Rows(Item + 1).PasteSpecial xlPasteFormats
Next Item
End Sub

Daniel

Bonjour,
Dans le classeur reçu.
Effectivement, j'ai fais l'essai dans la "Feuil1" et dans la feuille
"Données".
Feuil1 "OK".
Feuille "Données" Erreur.

Comment solutionner le problème, si je copie sur une autre feuille, je pense
que rien ne vas changer ?
Sinon, il faut que je recommence ma feuille, et là ..............
En tout cas merci de ton aide.
Guy

"Daniel.C" a écrit dans le message de news:
%23OuFg5%
Bonjour.
Le problème vient de ta feuille. J'ai ajouté une feuille et un bouton et
tout fonctionne normalement :
http://cjoint.com/?cck5J05BzG
Daniel

Bonjour Daniel.,
J'ai pris le fichier que je t'ai envoyé, j'ai supprimé les lignes qui
était déjà insérées à partir de la ligne 222.
Donc à partir de la ligne 222, il n'y a plus de lignes insérées.
J'ai fais les opérations suivantes:.
1) Clic sur le bouton (apparition de la fenêtre "Entrée"
2) Clic sur la ligne 218 (sélection de la ligne + texte de la ligne dans
la fenêtre "$218:$218").
3) Clic sur OK (changement de texte dans la fenêtre).
4) Clic sur la ligne 222 (sélection de la ligne + texte de la ligne dans
la fenêtre "$222:$222").
5) Clic sur OK (apparition de la fenêtre "Visual Basic" avec le message :
Erreur d'éxécution' 424': Objet requis.)
6) Clic sur Débogage (la 4ème ligne du code est en jaune.
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
O1LGv$
Ca fonctionne chez moi ? Peux-tu reproduuire le problème, et, si oui, me
communiquer les lignes que tu sélectionnes.
Daniel

J'ai essayé avec cette feuille, ça a fonctionné une fois avec 4 lignes,
puis après plus rien.
Guy
Ci joint: http://www.cijoint.fr/cjlink.php?file=cj201002/cijb34TV8o.xls


"Daniel.C" a écrit dans le message de news:

Essaie sur un classeur vierge. Sinon, envoie-moi via cjoint lafeuille
qui pose problème.
Daniel

J'ai pas de chance, ça fonctionne sur ton classeur, par-contre sur le
mien, ça ne fonctionne qu'une seule fois.
Ce coup là, c'est au 2ème "OK"
Guy

"Daniel.C" a écrit dans le message de news:

Remplace le code du bouton par celui-ci :
Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, Copier As Range
Set rcopier = Application.InputBox("Sélectionnez la ligne à copier",
Type:=8)
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
For Each a In rInsere.Areas
Rows(a.Row + 1).Insert
rcopier.Copy
Rows(a.Row + 1).PasteSpecial xlPasteFormats
Next
End Sub
Daniel


Euréka !!!, je n'ai plus le problème.
Je suppose que ça fonctionne puisque le texte descend
Mais, je ne comprends pas pourquoi cela ne copie pas la ligne en
jaune ?
Car j'ai besoin justement de recopier ce format.
Guy

"Daniel.C" a écrit dans le message de
news:
Essaie avec mon classeur :
http://cjoint.com/?cboDzE6GlU
Daniel

Non il n'y a pas de MFC, se sont juste des lignes de séparation.
Guy

"Daniel.C" a écrit dans le message de
news: %
J'ai cherché sur internet et j'ai vu qu'il y avait un problème
si il y avait des mises en forme conditionnelles utilisant "la
formule est:"
Est-ce ton cas ?
Daniel

J'ai Excel 2003
J'ai toujours la même réponse, dès que je fais "OK", j'ai
("Erreur d'exécution "424": Objet requis) et la 3ème ligne est
surlignée.
Guy

"Daniel.C" a écrit dans le message de
news: %
Utilise le code suivant en sélection les lignes destinataires,
une par une (en te servant de la toouche Ctrl à partir de la
deuxième)

Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, r As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Set rDesti = Application.InputBox("Sélectionnez les lignes
destinataires", Type:=8)
For Each a In rDesti.Areas
Rows(a.Row + 1).Insert
Next
End Sub

Daniel

D'accord, ça fonctionne pareil.
Mais, je souhaitais pourvoir sélectionner la ligne 174 et
insérer cette ligne en ligne 176,178,180,182 .....etc
Ou (si possible?) sélectionner les lignes, ou doit s'insérer
la ligne 174 (avant ou après).
J'ai essayé de mettre"Row +2", mais ça ne vas pas.
Guy

"Daniel.C" a écrit dans le message
de news:
Regarde le classeur ici :
http://cjoint.com/?cblvdNFvzj
Je l'ai testé avec XL2003 et XL2010 beta. Si l'erreur
persiste, indique-moi la versioin avec laquelle tu
travailles.
Cordialement.
Daniel


Bonjour Daniel,
Je sélectionne la ligne à insérer.
Par exemple "ligne 174", ça me mets dans la fenêtre
"$174:$174", je fais "OK", et là ça me surligne en jaune la
3ème ligne du code.
Dommage, le principe me plais.
Guy

"Daniel.C" a écrit dans le
message de news:
Bonjour.
Essaie :

Sub InsereLigne()
Dim rInsere As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Rows(rInsere.Row + 1).Insert
End Sub

Daniel

Oui, je l'ai testé.
Cette macro, insert une ligne à la suite de l'autre
....etc.
Mais il faudrait que je puisse choisir les lignes ou je
dois la réinsérer .
Guy

"Daniel.C" a écrit dans le
message de news:
C'est le classeur provoquant une erreur à la recopie de
format dont j'avais besoin. Dans le fil sur l'insertion,
je t'ai envoyé une macro. L'as-tu testé ?
Daniel

Je t'envoie un brouillon.
ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij88OrO9w.xls
Guy

"Daniel.C" a écrit dans le
message de news:

Peux-tu mettre ton classeur sur www.cjoint.com ?
Daniel

J'ai mis un bouton pour la macro.
Arrive la fenêtre "choisir la ligne à copier".
Je sélectionne la ligne,=>OK, mis ça ne fonctionne
pas,ça me surligne en jaune la ligne 3 de la macro.
Guy

"Daniel.C" a écrit dans le
message de news:

Bonjour.
Le fait de faire "Macro, Exécuter" annule le copier.
La macro suivante te demande la ligne à copier, les
lignes où le collage doit s'effectuer et effectue le
copier et le coller une ligne sur deux :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long, Copier As Range, Coller As Range
Set Copier = Application.InputBox("Sélectionnez la
ligne à copier", Type:=8)
Set Coller = Application.InputBox("Sélectionnez les
lignes destinataires", Type:=8)
Copier.Copy
For i = Coller.Row To Coller.Row + Coller.Rows.Count
- 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Bonjour Daniel,
Par exemple, j'ai copié la "ligne 4", j'ai
sélectionné la "ligne 81", puis =>Macro =>Exécuter.
Guy

"Daniel.C" <dcola, a écrit dans
le message de news:

Quelle ligne as-tu copiée et quelle zone as-tu
sélectionnée ?
Daniel

Bonjour Daniel,
Elle ne fonctionne pas, j'ai la ligne 4 qui est en
jaune.
Avec le message :"La méthode PasteSpécial de la
classe Range à échoué".
Cordialement
Guy

"Daniel.C" a écrit dans
le message de news:
OC$
Bonjour.
Essaie :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long
For i = Selection.Row To Selection.Row +
Selection.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Pour copier le format d'une ligne,il faut faire
=>Copier, sélectionner la ligne, sélectionner
collage spécial, format et OK< >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Est-il possible de simplifier cette tache quand
il faut le coller toute les deux lignes ?
Pareil pour "insérer".
Merci de votre aide.
Cordialement
Guy






















































































Avatar
Guy85
J'ai bien eu du mal à piger, car pour coller, je numérotais les lignes à la
suite des autres.
Mais il faut que je mettent les numéros de lignes en pensant à ajouter la
ligne qui va se copier, donc toutes les deux lignes.
ça fonctionne, c'est le principal.
J'espère que ce coup là, je ne vais plus t'embêter avec ça ?
Et encore merci de ton aide
Guy

"Daniel.C" a écrit dans le message de news:
OdWRXj$
J'ai ôté le code avec les "application.inputbox". La macro suivante semble
fonctionner, mais, bon, elle est moins pratique; il faut entrer d'abord le
numéro de la ligne à copier puis les numéros de ligne où on doit faire
l'insertion. Les uméros doivent être séparés par des ";".

Private Sub CommandButton1_Click()
Dim rInsere As String, a, Copier As Long
rCopier = Application.InputBox("Entrez le numéro de la ligne à copier")
rInsere = Application.InputBox("Sélectionnez les numéros de ligne séparés
par des "";""; l'insertion se fera dessous")
tablo = Split(rInsere, ";")
For Each Item In tablo
Rows(Item + 1).Insert
Rows(rCopier).Copy
Rows(Item + 1).PasteSpecial xlPasteFormats
Next Item
End Sub

Daniel

Bonjour,
Dans le classeur reçu.
Effectivement, j'ai fais l'essai dans la "Feuil1" et dans la feuille
"Données".
Feuil1 "OK".
Feuille "Données" Erreur.

Comment solutionner le problème, si je copie sur une autre feuille, je
pense que rien ne vas changer ?
Sinon, il faut que je recommence ma feuille, et là ..............
En tout cas merci de ton aide.
Guy

"Daniel.C" a écrit dans le message de news:
%23OuFg5%
Bonjour.
Le problème vient de ta feuille. J'ai ajouté une feuille et un bouton et
tout fonctionne normalement :
http://cjoint.com/?cck5J05BzG
Daniel

Bonjour Daniel.,
J'ai pris le fichier que je t'ai envoyé, j'ai supprimé les lignes qui
était déjà insérées à partir de la ligne 222.
Donc à partir de la ligne 222, il n'y a plus de lignes insérées.
J'ai fais les opérations suivantes:.
1) Clic sur le bouton (apparition de la fenêtre "Entrée"
2) Clic sur la ligne 218 (sélection de la ligne + texte de la ligne
dans la fenêtre "$218:$218").
3) Clic sur OK (changement de texte dans la fenêtre).
4) Clic sur la ligne 222 (sélection de la ligne + texte de la ligne
dans la fenêtre "$222:$222").
5) Clic sur OK (apparition de la fenêtre "Visual Basic" avec le message
: Erreur d'éxécution' 424': Objet requis.)
6) Clic sur Débogage (la 4ème ligne du code est en jaune.
Cordialement
Guy

"Daniel.C" a écrit dans le message de news:
O1LGv$
Ca fonctionne chez moi ? Peux-tu reproduuire le problème, et, si oui,
me communiquer les lignes que tu sélectionnes.
Daniel

J'ai essayé avec cette feuille, ça a fonctionné une fois avec 4
lignes, puis après plus rien.
Guy
Ci joint:
http://www.cijoint.fr/cjlink.php?file=cj201002/cijb34TV8o.xls


"Daniel.C" a écrit dans le message de
news:
Essaie sur un classeur vierge. Sinon, envoie-moi via cjoint
lafeuille qui pose problème.
Daniel

J'ai pas de chance, ça fonctionne sur ton classeur, par-contre sur
le mien, ça ne fonctionne qu'une seule fois.
Ce coup là, c'est au 2ème "OK"
Guy

"Daniel.C" a écrit dans le message de
news:
Remplace le code du bouton par celui-ci :
Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, Copier As Range
Set rcopier = Application.InputBox("Sélectionnez la ligne à
copier", Type:=8)
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
For Each a In rInsere.Areas
Rows(a.Row + 1).Insert
rcopier.Copy
Rows(a.Row + 1).PasteSpecial xlPasteFormats
Next
End Sub
Daniel


Euréka !!!, je n'ai plus le problème.
Je suppose que ça fonctionne puisque le texte descend
Mais, je ne comprends pas pourquoi cela ne copie pas la ligne en
jaune ?
Car j'ai besoin justement de recopier ce format.
Guy

"Daniel.C" a écrit dans le message de
news:
Essaie avec mon classeur :
http://cjoint.com/?cboDzE6GlU
Daniel

Non il n'y a pas de MFC, se sont juste des lignes de
séparation.
Guy

"Daniel.C" a écrit dans le message
de news: %
J'ai cherché sur internet et j'ai vu qu'il y avait un
problème si il y avait des mises en forme conditionnelles
utilisant "la formule est:"
Est-ce ton cas ?
Daniel

J'ai Excel 2003
J'ai toujours la même réponse, dès que je fais "OK", j'ai
("Erreur d'exécution "424": Objet requis) et la 3ème ligne
est surlignée.
Guy

"Daniel.C" a écrit dans le message
de news: %
Utilise le code suivant en sélection les lignes
destinataires, une par une (en te servant de la toouche Ctrl
à partir de la deuxième)

Private Sub CommandButton1_Click()
Dim rInsere As Range, rDesti As Range, a, r As Range
Set rInsere = Application.InputBox("Sélectionnez la ligne;
l'insertion se fera dessous", Type:=8)
Set rDesti = Application.InputBox("Sélectionnez les lignes
destinataires", Type:=8)
For Each a In rDesti.Areas
Rows(a.Row + 1).Insert
Next
End Sub

Daniel

D'accord, ça fonctionne pareil.
Mais, je souhaitais pourvoir sélectionner la ligne 174 et
insérer cette ligne en ligne 176,178,180,182 .....etc
Ou (si possible?) sélectionner les lignes, ou doit
s'insérer la ligne 174 (avant ou après).
J'ai essayé de mettre"Row +2", mais ça ne vas pas.
Guy

"Daniel.C" a écrit dans le
message de news:
Regarde le classeur ici :
http://cjoint.com/?cblvdNFvzj
Je l'ai testé avec XL2003 et XL2010 beta. Si l'erreur
persiste, indique-moi la versioin avec laquelle tu
travailles.
Cordialement.
Daniel


Bonjour Daniel,
Je sélectionne la ligne à insérer.
Par exemple "ligne 174", ça me mets dans la fenêtre
"$174:$174", je fais "OK", et là ça me surligne en jaune
la 3ème ligne du code.
Dommage, le principe me plais.
Guy

"Daniel.C" a écrit dans le
message de news:
Bonjour.
Essaie :

Sub InsereLigne()
Dim rInsere As Range
Set rInsere = Application.InputBox("Sélectionnez la
ligne; l'insertion se fera dessous", Type:=8)
Rows(rInsere.Row + 1).Insert
End Sub

Daniel

Oui, je l'ai testé.
Cette macro, insert une ligne à la suite de l'autre
....etc.
Mais il faudrait que je puisse choisir les lignes ou je
dois la réinsérer .
Guy

"Daniel.C" a écrit dans le
message de news:

C'est le classeur provoquant une erreur à la recopie
de format dont j'avais besoin. Dans le fil sur
l'insertion, je t'ai envoyé une macro. L'as-tu testé ?
Daniel

Je t'envoie un brouillon.
ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij88OrO9w.xls
Guy

"Daniel.C" a écrit dans le
message de news:

Peux-tu mettre ton classeur sur www.cjoint.com ?
Daniel

J'ai mis un bouton pour la macro.
Arrive la fenêtre "choisir la ligne à copier".
Je sélectionne la ligne,=>OK, mis ça ne fonctionne
pas,ça me surligne en jaune la ligne 3 de la
macro.
Guy

"Daniel.C" a écrit dans
le message de news:

Bonjour.
Le fait de faire "Macro, Exécuter" annule le
copier. La macro suivante te demande la ligne à
copier, les lignes où le collage doit s'effectuer
et effectue le copier et le coller une ligne sur
deux :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long, Copier As Range, Coller As
Range
Set Copier = Application.InputBox("Sélectionnez la
ligne à copier", Type:=8)
Set Coller = Application.InputBox("Sélectionnez
les lignes destinataires", Type:=8)
Copier.Copy
For i = Coller.Row To Coller.Row +
Coller.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Bonjour Daniel,
Par exemple, j'ai copié la "ligne 4", j'ai
sélectionné la "ligne 81", puis =>Macro
=>Exécuter.
Guy

"Daniel.C" <dcola, a écrit
dans le message de news:

Quelle ligne as-tu copiée et quelle zone as-tu
sélectionnée ?
Daniel

Bonjour Daniel,
Elle ne fonctionne pas, j'ai la ligne 4 qui est
en jaune.
Avec le message :"La méthode PasteSpécial de la
classe Range à échoué".
Cordialement
Guy

"Daniel.C" a écrit
dans le message de news:
OC$
Bonjour.
Essaie :

Sub CollerFormatUneLigneSurDeux()
Dim Ligne As Long
For i = Selection.Row To Selection.Row +
Selection.Rows.Count - 1 Step 2
Rows(i).PasteSpecial xlPasteFormats
Next i
End Sub

Daniel

Pour copier le format d'une ligne,il faut
faire =>Copier, sélectionner la ligne,
sélectionner collage spécial, format et OK< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Est-il possible de simplifier cette tache
quand il faut le coller toute les deux lignes
?
Pareil pour "insérer".
Merci de votre aide.
Cordialement
Guy


























































































1 2 3 4