Excel 07 / Copier coller dans des sheets - VB/VBA/VBS - Programmation
Marsh Posté le 18-01-2011 à 14:51:55
Tes variables c et l sont declarées comment ?
Tu peux pas faire de "copier" ; "select" etc. dans une fonction que tu appelles dans Excel avec =traitement()
Le plus "simple" est de passer par les evenement de feuille_change
En gros :
Si le texte dans la cellule que je viens de saisir contient "=traitement" Alors
Selectionner la cellule
La copier
Etc.
Explique plus explicitement ce que tu souhaites faire, je te filerai un coup de main
Marsh Posté le 18-01-2011 à 15:45:04
SuppotDeSaTante a écrit :
|
Merci :-)
alors, tout bêtement, j'ai un fichier exel avec une prémière sheet qui contient une répetition de ceci:
|
Et j'aimerai copier / coller ces tableaux, faire un tableau par sheet par exemple.
Marsh Posté le 18-01-2011 à 16:04:11
En fait ta fonction traitement te sert juste a mettre des []
Citation : Sub didier1809() |
Marsh Posté le 18-01-2011 à 18:21:32
SuppotDeSaTante a écrit : En fait ta fonction traitement te sert juste a mettre des []
|
Ca me retourne des [] oui, mais la 2e partie en rouge devrait faire des copier coller non ?
Marsh Posté le 18-01-2011 à 23:24:05
ReplyMarsh Posté le 19-01-2011 à 07:23:46
SuppotDeSaTante a écrit : Ui. |
http://www.4shared.com/file/YPL6mnam/pour_macro.html
Est-ce que tu y as accès ?
Marsh Posté le 19-01-2011 à 10:28:17
Non, restriction au bureau inside...
Il y a mon mail dans mon profil
Marsh Posté le 16-01-2011 à 14:50:49
C'est vraiment bête, mais je ne m'en sort pas:
J'aimerai faire une recherche sur un terme et effectuer un traitement lorsque ce terme est trouvé.
J'arrive bien à parcourir le tableau et à trouver les x et y des termes en question
Par contre, impossible de récuperer le texte ou de faire un copier coller...
Voici le code:
Public Function traitement(l As Long, c As Integer)
Dim cellcontent As String
cellcontent = ActiveSheet.Cells(c, l).Value
traitement = "[" & c & "," & l & "] " & cellcontent & vbCrLf
Range(Cells(c, l), Cells(c + 10, l + 4)).Select
Selection.Copy
Sheets("Sheet1" ).Select
Range("B" & l).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Function
La valeur de retour vaut par exemple "[2, 30] "
La cellule est vide alors que la recherche est fructueuse:
With Sheets("Indiv" )
l = 1: c = 1
Do ' recherche
Set sel = .Cells.Find(What:=rech, after:=.Cells(l, c), _
LookIn:=xlValues, LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If sel Is Nothing Then Exit Do
If sel.Column <= c And sel.Row <= l Then Exit Do
c = sel.Column
l = sel.Row
msg = msg & traitement(l, c)
n = n + 1 ' élément trouvé : traitement
Loop
End With
MsgBox n & " éléments trouvés" & vbCrLf & msg
Est-ce que vous avez une idée ??
Je suis un peu perdu en vba, je suis plus habitué à faire du Java que du vba
---------------
.