problème de macro

pascal21

XLDnaute Barbatruc
bonsoir

en voici l'explication
Private Sub Worksheet_Change(ByVal Target As Range)
'si la cellule A1 vient d'être modifiée alors
If Target.Address = '$A$1' Then
'chercher le numéro de la première ligne vide dans Feuil2 Colonne2
'et stocker ce numéro dans une variable i
i = Worksheets('Feuil2').Cells(65535, 2).End(xlUp)(2).Row
'Alors mettre Feuil2(ligne i, colonne 2)= Target.Value
Worksheets('Feuil2').Cells(i, 2) = Target.Value
'C'est tout.
End If
End Sub
on m'a donné une macro qui fonctionne très bien d'ailleurs
qui s'applique à la cellule a1
j'ai fais un copier/coller en changé les cellules de départ(b1 et de destination mais là ça ne fonctionne plus
où est l'erreur merci
 

Gérard DEZAMIS

XLDnaute Accro
Bonsoir Pascal

Ta copie d'écran n'est pas très lisible mais je crois que tu fais appel deux fois à la procédure Change. Je crois que c'est interdit

@+ GD

Edition : Bonsoir Didier, pour une fois que je peux répondre à une question VBA, tu aurais pu attendre 2 minutes !. Niark :ermm:


Message édité par: Gérard DEZAMIS, à: 14/11/2005 22:41
 

pascal21

XLDnaute Barbatruc
bonsoir
donc dans ce cas comment faire pour avoir cette macro dans d'autres cellules
cette formule en vba on ne pourrait pas l'écrire en formule normale avec la fonction 'si' ou je ne sais pas quoi encore
n truc qui dirait:
quand je rentre une date en a1 celle-ci va s'écrire sur la (feuille2;cellule b1) et si la cellule b1 n'est pas libre écrire alors en b2 et ainsi de suite
bon celle je l'ai en vba
n truc qui dirait:
quand je rentre une date en b1 celle-ci va s'écrire sur la (feuille2;cellule b1) et si la cellule c1 n'est pas libre écrire alors en c2 et ainsi de suite
merci
edit: mouhai!!! effectivement ce n'etais pas très clair il était tard

Message édité par: pascal21, à: 15/11/2005 14:45
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Pascal, Didier et Gérard, bonsoir le forum,

Si j'ai bien tout compris (ce qui est relativement rare je l'avoue...) je te propose la macro suivante :


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$1' Then
With Sheets('Feuil2')
If .Range('B1') = '' Then
li = 1
Else
li = .Range('B65536').End(xlUp).Offset(1, 0).Row
End If
.Range('B' & li).Value = Target.Value
End With
End If
End Sub
 

myDearFriend!

XLDnaute Barbatruc
Re pascal21,
Bonsoir Gérard, Robert,

Peut-être peux-tu tester cette version :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim I As Long, C As Byte
      If Not Application.Intersect(Target, Range('A1:B1')) Is Nothing Then
            C = Target.Column + 1
            I = Worksheets('Feuil2').Cells(65535, C).End(xlUp).Row + 1
            Worksheets('Feuil2').Cells(I, C) = Target.Value
      End If
End Sub
Cordialement,

PS : pascal21, j'espère que je me trompe, mais j'ai franchement l'impression que tu utilises un drôle de ton vis-à-vis de ceux qui acceptent de te venir en aide...
 

Gérard DEZAMIS

XLDnaute Accro
Bonsoir à tous

Salut Didier

J'espère quand même que tu t'es appliqué pour cett macro.
Faudrait quand même pas faire perdre son temps à Pascal avec des solutions qui n'auraient pas été testées.

Regarde bien avant de soumettre.... ;)
Tu n'as rien oublié ?

Bonne soirée

@+ GD
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le Fil, bonsoir le forum,

Merci Didier, grâce à toi je viens enfin de comprendre ce que voulais Pascal. C'est vrai que j'avais parcouru vite fait mais aussi qu'il s'était bien mélangé les pinceaux... je le cite :


n truc qui dirait:
quand je rentre une date en b1 celle-ci va s'écrire sur la (feuille2;cellule b1) et si la cellule c1
n'est pas libre écrire alors en c2 et ainsi de suite

Et merci aussi pour ta remarque que j'apprécie car elle m'évite de proférer des grossièretés dans ce forum de si haute tenue.
 

pascal21

XLDnaute Barbatruc
bonsoireffectivement tu te trompe je ne suis pas assez bete pour me moquer des personnes qui peuvent m'aider
il ne manque rien des fois?
l'avais-tu esssayé
si c'est cette prhase qui t'embetes il n'y avait rien de méchant ni même d'ironique
ne connaissant rien au vba je lui demandais simplement si il n'avais pas oublié une ligne ce qui ,je pense doit arrivé de temps en temps à tout le monde et si je lui demande si il l'avais essayé c'etait uniquement pour savoir si ça fonctionnait chez lui
quand un sujet m'agresse réellement il n'y a pas d'ambiguité sur mes propos c'est toujours très net ça m'a d'ailleurs valu injustement le renvoi d'un site auquel je participais activement
sans rancune
pascal
je teste ta solution
mais le problème a l'air d'çetre que l'on ne peut pas enter deux procédures identiques tout au moins d'après Robert et Gerard
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil, bonsoir le forum,


Ha ha ha ! T'as vu ça Pascal. Ici tu en égratignes un et c'est toute la horde qui te tombe dessus. Loule. Je suis mort de rire. Ne nous en veut pas. Le Gérard et le Michel y sont cul et chemise (ne me demande pas qui est qui...) et moi je suis le gros de la troupe. Mais je te rassusres ici on ne renvoie personne...

Au fait Gérard. Combien en a-t-on coulé dans le béton au large de Palavas cette année ?


Édition

Comment ça Pascal ? Ça fonctionne très bien... Bon va te coucher et demain tu revois tout ça d'accord...

Message édité par: Robert, à: 14/11/2005 23:37
 

myDearFriend!

XLDnaute Barbatruc
Re le fil,

Oui, Pascal21, ne nous en veut pas pour ça.
Je souhaitais juste te faire remarquer que tes messages n'étaient pas à première vue des plus cordiaux et si tu les relis demain, je pense que tu comprendras ce que nous voulions juste souligner avec humour (car c'est comme ça que ça fonctionne ici)...
J'en profite pour te demander quand même de tester la procédure que je t'ai soumise en dernier lieu....

Et pour Robert... concernant ceux qui sont cul et chemise, moi, je m'en moque, je ne suis ni Gérard, ni Michel.... ;)

Cordialement,
 

pascal21

XLDnaute Barbatruc
Oui, Pascal21, ne nous en veut pas pour ça.
Je souhaitais juste te faire remarquer que tes messages n'étaient pas à première vue des plus cordiaux et si tu les relis demain, je pense que tu comprendras ce que nous voulions juste souligner avec humour (car c'est comme ça que ça fonctionne ici)...
bonjour
à tous
bon j'ai relus mes propos mais je n'ai rien trouvé qui puisse être inconvennant à vos égards
quoi qu'il en soiit si j'ai blessé quelqu'un qu'il sache que ce n'était pas le but recherché qu'il recoive mes excuses
quelque fois mes phrases sont teintées d'ironie mais là même pas
je demandais san arrière pensée si il ne manquait pas un bout de formule
Pascal

Message édité par: pascal21, à: 15/11/2005 15:13

Message édité par: pascal21, à: 15/11/2005 19:33
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino