Bonjour,
J'ai un petit probleme avec ma macro... en premier lieu
j'execute cette macro
Public MaFeuille As Object
__________________________________
Private Sub toto()
Set MaFeuille = ActiveSheet
Set Target = ActiveCell
Set ints = Application.Intersect(Target, Range("A1:IV65536"))
Dim AnyString, MyStr
AnyString = ActiveCell.Text
MyStr = Left(AnyString, 3)
If MyStr = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER",
vbInformation
Else
If Not ints Is Nothing Then
On Error Resume Next
addr = Sheets("Items").Cells.Find(What:=[Target], After:=ActiveCell,
LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Address
If Not addr = Empty Then
Application.Goto Sheets("Items").Range(addr)
Else
MsgBox "Cette Valeur Existe Pas"
End If
End If
End If
End Sub
__________________________________
si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le mot
"Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA
__________________________________
Dim AnyString, MyStr
AnyString = ActiveCell.Text
MyStr = Left(AnyString, 3)
If MyStr = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP
RECOMMENCER", vbInformation
Else
Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address
With MaFeuille
.Range(tamp).PasteSpecial
Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy
.Activate
.Range(tamp).Offset(0, 6).Select
.Paste Link:=True
End With
Application.CutCopyMode = False
End If
_________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle dans
la meme feuille que j'etait au par-avant.
mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple j'ai
choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va
recolller "Bleu" en A3.
ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier
macro et non sur la meme plage que ma feuille item !
c'est juste le coller qui ce fait pas a bonne place ... il faut que les
autre condition reste les meme.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
re,
devrait faire ce que tu demandes. En ai profité pour silmplifier ton code mais tu fais ce que tu veux si tu penses que ca ne te correspond pas.La sub tata réalisée à la suite de la sub toto fera ce que tu demandes. si tu n'exécutespas au moins 1 fois toto avant tata, il y aura un problème de définition des variables publiques.Pour le reste, je n'ai pas bien copmpris l'interet du If Left(ActiveCell.Text, 3) = "M.O" dans la procédure tata. M'enfin, c'est toi qui vois !
Public MaFeuille As Worksheet Public cellsource As Range Private Sub toto()
Set MaFeuille = ActiveSheet Set cellsource = ActiveCell
If Left(cellsource.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ", vbInformation Else On Error Resume Next Application.Goto Sheets("Items").Cells.Find(What:Îllsource.Value, LookAt:=xlWhole) If Err.Number <> 0 Then MsgBox "Cette Valeur Existe Pas" End If
End Sub
Sub tata()
If Left(ActiveCell.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ ", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = cellsource.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If
End Sub
A+
Bonjour, J'ai un petit probleme avec ma macro... en premier lieu j'execute cette macro
Public MaFeuille As Object __________________________________
Private Sub toto() Set MaFeuille = ActiveSheet Set Target = ActiveCell Set ints = Application.Intersect(Target, Range("A1:IV65536")) Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else If Not ints Is Nothing Then On Error Resume Next addr = Sheets("Items").Cells.Find(What:=[Target], After:¬tiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _ , SearchFormat:úlse).Address If Not addr = Empty Then Application.Goto Sheets("Items").Range(addr) Else MsgBox "Cette Valeur Existe Pas" End If End If End If End Sub __________________________________ si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le mot "Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA __________________________________ Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If _________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle dans la meme feuille que j'etait au par-avant. mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple j'ai choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va recolller "Bleu" en A3. ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier macro et non sur la meme plage que ma feuille item ! c'est juste le coller qui ce fait pas a bonne place ... il faut que les autre condition reste les meme.
merci de votre aide.
re,
devrait faire ce que tu demandes. En ai profité pour silmplifier ton code
mais tu fais ce que tu veux si tu penses que ca ne te correspond pas.La sub
tata réalisée à la suite de la sub toto fera ce que tu demandes. si tu
n'exécutespas au moins 1 fois toto avant tata, il y aura un problème de
définition des variables publiques.Pour le reste, je n'ai pas bien copmpris
l'interet du If Left(ActiveCell.Text, 3) = "M.O" dans la procédure tata.
M'enfin, c'est toi qui vois !
Public MaFeuille As Worksheet
Public cellsource As Range
Private Sub toto()
Set MaFeuille = ActiveSheet
Set cellsource = ActiveCell
If Left(cellsource.Text, 3) = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ",
vbInformation
Else
On Error Resume Next
Application.Goto Sheets("Items").Cells.Find(What:Îllsource.Value,
LookAt:=xlWhole)
If Err.Number <> 0 Then MsgBox "Cette Valeur Existe Pas"
End If
End Sub
Sub tata()
If Left(ActiveCell.Text, 3) = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ ",
vbInformation
Else
Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = cellsource.Address
With MaFeuille
.Range(tamp).PasteSpecial
Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy
.Activate
.Range(tamp).Offset(0, 6).Select
.Paste Link:=True
End With
Application.CutCopyMode = False
End If
End Sub
A+
Bonjour,
J'ai un petit probleme avec ma macro... en premier lieu
j'execute cette macro
Public MaFeuille As Object
__________________________________
Private Sub toto()
Set MaFeuille = ActiveSheet
Set Target = ActiveCell
Set ints = Application.Intersect(Target, Range("A1:IV65536"))
Dim AnyString, MyStr
AnyString = ActiveCell.Text
MyStr = Left(AnyString, 3)
If MyStr = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER",
vbInformation
Else
If Not ints Is Nothing Then
On Error Resume Next
addr = Sheets("Items").Cells.Find(What:=[Target], After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Address
If Not addr = Empty Then
Application.Goto Sheets("Items").Range(addr)
Else
MsgBox "Cette Valeur Existe Pas"
End If
End If
End If
End Sub
__________________________________
si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le mot
"Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA
__________________________________
Dim AnyString, MyStr
AnyString = ActiveCell.Text
MyStr = Left(AnyString, 3)
If MyStr = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP
RECOMMENCER", vbInformation
Else
Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address
With MaFeuille
.Range(tamp).PasteSpecial
Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy
.Activate
.Range(tamp).Offset(0, 6).Select
.Paste Link:=True
End With
Application.CutCopyMode = False
End If
_________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle dans
la meme feuille que j'etait au par-avant.
mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple j'ai
choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va
recolller "Bleu" en A3.
ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier
macro et non sur la meme plage que ma feuille item !
c'est juste le coller qui ce fait pas a bonne place ... il faut que les
autre condition reste les meme.
devrait faire ce que tu demandes. En ai profité pour silmplifier ton code mais tu fais ce que tu veux si tu penses que ca ne te correspond pas.La sub tata réalisée à la suite de la sub toto fera ce que tu demandes. si tu n'exécutespas au moins 1 fois toto avant tata, il y aura un problème de définition des variables publiques.Pour le reste, je n'ai pas bien copmpris l'interet du If Left(ActiveCell.Text, 3) = "M.O" dans la procédure tata. M'enfin, c'est toi qui vois !
Public MaFeuille As Worksheet Public cellsource As Range Private Sub toto()
Set MaFeuille = ActiveSheet Set cellsource = ActiveCell
If Left(cellsource.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ", vbInformation Else On Error Resume Next Application.Goto Sheets("Items").Cells.Find(What:Îllsource.Value, LookAt:=xlWhole) If Err.Number <> 0 Then MsgBox "Cette Valeur Existe Pas" End If
End Sub
Sub tata()
If Left(ActiveCell.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ ", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = cellsource.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If
End Sub
A+
Bonjour, J'ai un petit probleme avec ma macro... en premier lieu j'execute cette macro
Public MaFeuille As Object __________________________________
Private Sub toto() Set MaFeuille = ActiveSheet Set Target = ActiveCell Set ints = Application.Intersect(Target, Range("A1:IV65536")) Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else If Not ints Is Nothing Then On Error Resume Next addr = Sheets("Items").Cells.Find(What:=[Target], After:¬tiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _ , SearchFormat:úlse).Address If Not addr = Empty Then Application.Goto Sheets("Items").Range(addr) Else MsgBox "Cette Valeur Existe Pas" End If End If End If End Sub __________________________________ si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le mot "Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA __________________________________ Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If _________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle dans la meme feuille que j'etait au par-avant. mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple j'ai choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va recolller "Bleu" en A3. ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier macro et non sur la meme plage que ma feuille item ! c'est juste le coller qui ce fait pas a bonne place ... il faut que les autre condition reste les meme.
merci de votre aide.
Bastien
SUPER ! exactement ce que je cherchais merci beaucoup d'avoir prit le temps de me repondre et pour le code simplifier et bien sa fait la meme job ! j'en est peut-etre mit un peu trop :( je suis débutant....
merci encord :) alp
"anonymousA" a écrit dans le message de news:
re,
devrait faire ce que tu demandes. En ai profité pour silmplifier ton code mais tu fais ce que tu veux si tu penses que ca ne te correspond pas.La sub tata réalisée à la suite de la sub toto fera ce que tu demandes. si tu n'exécutespas au moins 1 fois toto avant tata, il y aura un problème de définition des variables publiques.Pour le reste, je n'ai pas bien copmpris l'interet du If Left(ActiveCell.Text, 3) = "M.O" dans la procédure tata. M'enfin, c'est toi qui vois !
Public MaFeuille As Worksheet Public cellsource As Range Private Sub toto()
Set MaFeuille = ActiveSheet Set cellsource = ActiveCell
If Left(cellsource.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ", vbInformation Else On Error Resume Next Application.Goto Sheets("Items").Cells.Find(What:Îllsource.Value, LookAt:=xlWhole) If Err.Number <> 0 Then MsgBox "Cette Valeur Existe Pas" End If
End Sub
Sub tata()
If Left(ActiveCell.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ ", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = cellsource.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If
End Sub
A+
Bonjour, J'ai un petit probleme avec ma macro... en premier lieu j'execute cette macro
Public MaFeuille As Object __________________________________
Private Sub toto() Set MaFeuille = ActiveSheet Set Target = ActiveCell Set ints = Application.Intersect(Target, Range("A1:IV65536")) Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else If Not ints Is Nothing Then On Error Resume Next addr = Sheets("Items").Cells.Find(What:=[Target], After:¬tiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _ , SearchFormat:úlse).Address If Not addr = Empty Then Application.Goto Sheets("Items").Range(addr) Else MsgBox "Cette Valeur Existe Pas" End If End If End If End Sub __________________________________ si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le mot "Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA __________________________________ Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If _________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle dans la meme feuille que j'etait au par-avant. mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple j'ai choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va recolller "Bleu" en A3. ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier macro et non sur la meme plage que ma feuille item ! c'est juste le coller qui ce fait pas a bonne place ... il faut que les autre condition reste les meme.
merci de votre aide.
SUPER !
exactement ce que je cherchais
merci beaucoup d'avoir prit le temps de me repondre
et pour le code simplifier et bien sa fait la meme job !
j'en est peut-etre mit un peu trop :( je suis débutant....
merci encord :)
alp
"anonymousA" <anonymousA@discussions.microsoft.com> a écrit dans le message
de news: 4AAF5F1C-8A8D-4AA1-BB95-A60FCCC0964D@microsoft.com...
re,
devrait faire ce que tu demandes. En ai profité pour silmplifier ton code
mais tu fais ce que tu veux si tu penses que ca ne te correspond pas.La
sub
tata réalisée à la suite de la sub toto fera ce que tu demandes. si tu
n'exécutespas au moins 1 fois toto avant tata, il y aura un problème de
définition des variables publiques.Pour le reste, je n'ai pas bien
copmpris
l'interet du If Left(ActiveCell.Text, 3) = "M.O" dans la procédure tata.
M'enfin, c'est toi qui vois !
Public MaFeuille As Worksheet
Public cellsource As Range
Private Sub toto()
Set MaFeuille = ActiveSheet
Set cellsource = ActiveCell
If Left(cellsource.Text, 3) = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ",
vbInformation
Else
On Error Resume Next
Application.Goto Sheets("Items").Cells.Find(What:Îllsource.Value,
LookAt:=xlWhole)
If Err.Number <> 0 Then MsgBox "Cette Valeur Existe Pas"
End If
End Sub
Sub tata()
If Left(ActiveCell.Text, 3) = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ
",
vbInformation
Else
Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = cellsource.Address
With MaFeuille
.Range(tamp).PasteSpecial
Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy
.Activate
.Range(tamp).Offset(0, 6).Select
.Paste Link:=True
End With
Application.CutCopyMode = False
End If
End Sub
A+
Bonjour,
J'ai un petit probleme avec ma macro... en premier lieu
j'execute cette macro
Public MaFeuille As Object
__________________________________
Private Sub toto()
Set MaFeuille = ActiveSheet
Set Target = ActiveCell
Set ints = Application.Intersect(Target, Range("A1:IV65536"))
Dim AnyString, MyStr
AnyString = ActiveCell.Text
MyStr = Left(AnyString, 3)
If MyStr = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER",
vbInformation
Else
If Not ints Is Nothing Then
On Error Resume Next
addr = Sheets("Items").Cells.Find(What:=[Target], After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse
_
, SearchFormat:úlse).Address
If Not addr = Empty Then
Application.Goto Sheets("Items").Range(addr)
Else
MsgBox "Cette Valeur Existe Pas"
End If
End If
End If
End Sub
__________________________________
si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le
mot
"Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA
__________________________________
Dim AnyString, MyStr
AnyString = ActiveCell.Text
MyStr = Left(AnyString, 3)
If MyStr = "M.O" Then
MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP
RECOMMENCER", vbInformation
Else
Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address
With MaFeuille
.Range(tamp).PasteSpecial
Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy
.Activate
.Range(tamp).Offset(0, 6).Select
.Paste Link:=True
End With
Application.CutCopyMode = False
End If
_________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle
dans
la meme feuille que j'etait au par-avant.
mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple
j'ai
choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va
recolller "Bleu" en A3.
ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier
macro et non sur la meme plage que ma feuille item !
c'est juste le coller qui ce fait pas a bonne place ... il faut que les
autre condition reste les meme.
SUPER ! exactement ce que je cherchais merci beaucoup d'avoir prit le temps de me repondre et pour le code simplifier et bien sa fait la meme job ! j'en est peut-etre mit un peu trop :( je suis débutant....
merci encord :) alp
"anonymousA" a écrit dans le message de news:
re,
devrait faire ce que tu demandes. En ai profité pour silmplifier ton code mais tu fais ce que tu veux si tu penses que ca ne te correspond pas.La sub tata réalisée à la suite de la sub toto fera ce que tu demandes. si tu n'exécutespas au moins 1 fois toto avant tata, il y aura un problème de définition des variables publiques.Pour le reste, je n'ai pas bien copmpris l'interet du If Left(ActiveCell.Text, 3) = "M.O" dans la procédure tata. M'enfin, c'est toi qui vois !
Public MaFeuille As Worksheet Public cellsource As Range Private Sub toto()
Set MaFeuille = ActiveSheet Set cellsource = ActiveCell
If Left(cellsource.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ", vbInformation Else On Error Resume Next Application.Goto Sheets("Items").Cells.Find(What:Îllsource.Value, LookAt:=xlWhole) If Err.Number <> 0 Then MsgBox "Cette Valeur Existe Pas" End If
End Sub
Sub tata()
If Left(ActiveCell.Text, 3) = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNE LA BONNE CELLULE SVP, RECOMMENCEZ ", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = cellsource.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If
End Sub
A+
Bonjour, J'ai un petit probleme avec ma macro... en premier lieu j'execute cette macro
Public MaFeuille As Object __________________________________
Private Sub toto() Set MaFeuille = ActiveSheet Set Target = ActiveCell Set ints = Application.Intersect(Target, Range("A1:IV65536")) Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else If Not ints Is Nothing Then On Error Resume Next addr = Sheets("Items").Cells.Find(What:=[Target], After:¬tiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _ , SearchFormat:úlse).Address If Not addr = Empty Then Application.Goto Sheets("Items").Range(addr) Else MsgBox "Cette Valeur Existe Pas" End If End If End If End Sub __________________________________ si je suis sur A1 et que A1 = "Rouge" et bien cette macro recherche le mot "Rouge" dans ma feuille "Item". Cette macro fonctionne super bien.
ensuite j'execute cette macro qui ma ete envoyer par AnonymousA __________________________________ Dim AnyString, MyStr AnyString = ActiveCell.Text MyStr = Left(AnyString, 3) If MyStr = "M.O" Then MsgBox "VOUS N'AVEZ PAS SELECTIONNER LA BONNE CELLULE SVP RECOMMENCER", vbInformation Else Range(ActiveCell, ActiveCell.Offset(1, 0)).EntireRow.Copy
tamp = ActiveCell.Address With MaFeuille .Range(tamp).PasteSpecial Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(1, 6)).Copy .Activate .Range(tamp).Offset(0, 6).Select .Paste Link:=True End With Application.CutCopyMode = False
End If _________________________________
cette macro prend la cellule ou je suis + elle en dessous et la recolle dans la meme feuille que j'etait au par-avant. mais le probleme c'est qu'il la recolle sa sur la meme plage. exemple j'ai choisi "Bleu" qui est en A3 alors il va aller dans premiere feuille et va recolller "Bleu" en A3. ce que je veux c'est qu'il recolle "Bleu" la ou j'etait avant ma premier macro et non sur la meme plage que ma feuille item ! c'est juste le coller qui ce fait pas a bonne place ... il faut que les autre condition reste les meme.