Pb d'insertion de texte

Résolu
Signaler
Messages postés
30
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
16 novembre 2005
-
Messages postés
30
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
16 novembre 2005
-
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

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
26
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
26
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
26
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
30
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
16 novembre 2005

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
Messages postés
30
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
16 novembre 2005

Tks,
peux tu me dire où je dois placer :
Option Explicit
Private Const NumCol = 3

STP.

Emmanuel
Messages postés
30
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
16 novembre 2005

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
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
26
Envoie-le moi par E-mail
jpleroisse@hotmail.com
Messages postés
30
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
16 novembre 2005

Je te les envoyé.
Tu l'as reçu?

Emmanuel