Pb d'insertion de texte

Résolu
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005 - 18 avril 2005 à 17:06
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005 - 20 avril 2005 à 11:18
Slt,
j'ai un autre pb avec vba sur excel.
je voudrais placer dans une cellule d'une ligne que j'ai inserré conditionnellement, le texte écrit dans une autre cellule.
Par exemple, j'ai inserré la ligne 3, et je voudrais quand cellule C3, soit écrit ce qui est dans B4.
Tout ça par un code vba parce que cette manip va se répéter des centaines de fois...
Si quelqu'un avait une idée parce que tout ce que j'essaie plante...

Merci.

Manu

8 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
18 avril 2005 à 17:33
Est-ce la répétion ce fait dans la même feuille ? si oui
Dans ce cas tu vas dans l'éditeur VBA tu DBlClick sur Feuil1(par exp). et dans la fenêtre code tu place

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Range("C3").Value = Range("B4").Value
End Sub

Chaque fois que tu feras le click du bouton droit la valeur de la cellule B4 s'inscrira dans C3
Si cela ne correspond pas à ce que tu cherches, laisse un mot d'explication.

jpleroisse
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 avril 2005 à 10:48
Option Explicit
Private Const NumCol = 3


Sub insertion()
Dim Cell As Range, sr As String
Columns("A:G").Select
For Each Cell In Range("B1:B" & Range("B65536").End(xlDown).Row)
If Cell.Value = "" Then GoTo suite
If Cell.Value <> Cell.Offset(1, 0).Value Then
sr = Cell.Offset(1, -1).Value
Cell.Offset(1, 0).Select
Selection.EntireRow.Insert
Cells(NumCol).Offset(2, 0).Value = sr
End If
suite:
Next Cell
End Sub

jpleroisse
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 avril 2005 à 12:11
Option ExplicitPrivate Const NumCol 3, se place tout en haut de la fenêtre de code, avant toutes les autres formules. Options Explicit OBLIGE à déclarer toutes les variables ce qui évite pas mal d'erreurs dans les codes. Par exemple si tu écrit s 3, tu vas avoir une erreur signalée par Variable non déclarées et la phrase sera en jaune. Ce qui oblige a faire avant Dim s As Integer.
(j'èspère que mon explication est assez claire! Ah oui, la constante NumCol =3 désigne la troisième colonne, c.a.d C)

jpleroisse
3
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
18 avril 2005 à 17:49
En effet c'est sur la même feuille et j'dis pas ca marche.
Thanks.
Mais le truc c'est que s'il faut que je click droit a chaque fois que je veux faire cette manip, je vais en avoir pour un bout de temps! En plus le pb c'est que la cellule dans laquelle je voudrais que s'inscrive le texte d'une autre cellule, apparaît conditionnellemnt, donc c'est jamais au meme endroit.
Ce qui m'aiderai à fond c'est le meme code mais intégrer dans ma formule d'insertion de ligne que voici:

sub insertion ()
Columns("A:G").Select
For Each cel In Range("B1:B" & Range("B65536").End(xlDown).Row)
If cel.Value = "" Then GoTo suite
If cel.Value <> cel.Offset(1, 0).Value Then
cel.Offset(1, 0).Select
Selection.EntireRow.insert
End If
suite:
Next cel
end sub

Dans une cellule de la ligne insérrée, il faut que s'inscrive le texte situé dans la cellule en bas à gauche (déplacement d'un vers la gauche et d'un vers le bas).
Voila, si je suis pas assez précis, hésites pas à me poser des questions.

Merci d'avance.
@+
Emmanuel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
19 avril 2005 à 11:02
Tks,
peux tu me dire où je dois placer :
Option Explicit
Private Const NumCol = 3

STP.

Emmanuel
0
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
19 avril 2005 à 12:29
Merci,
le programme tourne sans erreurs mais rien ne s'affiche dans la cellule de la ligne inserrée que je veux...
Dsl mais je suis vraiment une quiche en vba et je pense que je me suis gourré qq part!
Si ca te prend pas la tête je peux t'envoyer le fichier (si oui, je sais pas comment faire...) sinon tant pis et encore merci pour ton aide.
Je vais essayer de bidouiller un peu ton code en changeant des numéro de cellules dans le code, on va voir.

@+

Emmanuel
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 avril 2005 à 12:41
Envoie-le moi par E-mail
jpleroisse@hotmail.com
0
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
20 avril 2005 à 11:18
Je te les envoyé.
Tu l'as reçu?

Emmanuel
0
Rejoignez-nous