Macro copier coller

gilou31

XLDnaute Junior
bonjour ! :cool:

alors voila. J'ai créer une macro "valider", qui me permet de copier des données d'un formulaire dans un tableau. Lorsque je cree un nouveau formulaire, mes données se place dans la ligne n+1 du tableau graçe à cette formule :

Sheets("livre de mission").Select 'copy Etablissement
Range("etablissement").Select
Selection.Copy
Sheets("data").Select
ligne = Range("A65536").End(xlUp).Row + 1
Cells(ligne, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Voici mon probleme :
dans certain cas, j'ai par exemple dans la colonne 5, des données qui pourrait se copier sur la ligne 1,2,3 et 4 et pas uniquement sur la ligne 1.
Je voudrais juste savoir quelle ligne je dois rajouter dans mon formule pour que lorsque j'utilise ma macro, elle ajoute mes données dans la premeire cellule vide au niveau des colonnes, mais en plus vérifie la premiere cellule vide en colonne. C'est pas trés facil a expliquer, donc je joints un petit fichier :d
 

Pièces jointes

  • 01.xls
    17 KB · Affichages: 71
  • 01.xls
    17 KB · Affichages: 75
  • 01.xls
    17 KB · Affichages: 70

gilou31

XLDnaute Junior
Re : Macro copier coller

salut,

super il me trouve la première ligne cellule vide.
mais je dois inserer et modifier cette formule de quelle facon pour qu'il me copie ma sélection dans cette cellule ?

Sheets("livre de mission").Select 'copy Etablissement
Range("etablissement").Select
Selection.Copy
Sheets("data").Select
With ActiveSheet
derlig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
End With

ligne = Range("A65536").End(xlUp).Row + 1
Cells(ligne, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

comme ceci ?
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro copier coller

bonjour

Sheets("livre de mission").Select 'copy Etablissement
Range("etablissement").Select
Selection.Copy
Sheets("data").Select
With ActiveSheet
derlig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
End With
'ligne = Range("A65536").End(xlUp).Row + 1 'n'a plus lieu d'être
Cells(derlig, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False



Voilà ça devrait marcher mais vous auriez du trouver seul :rolleyes:


RGI
 

gilou31

XLDnaute Junior
Re : Macro copier coller

Non cela ne marche pas :D j'ai un débogage à la ligne verte
ne faut-il pas rajouter le genre de meme formule dans toutes les lignes ?
ne m'enguelez pas j'essai de comprendre lol :p


Sheets("livre de mission").Select 'copy Etablissement
Range("etablissement").Select
Selection.Copy
Sheets("data").Select
With ActiveSheet
derlig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
End With
Cells(derlig, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("livre de mission").Select 'Numéro du livre de mission
Range("nlm").Select
Selection.Copy
Sheets("data").Select
colonne = Range("A65536").End(xlUp).Row + 1
Cells(ligne, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Macro copier coller

en plus à quoi sert colonne vous ne vous en servez pas

colonne = Range("A65536").End(xlUp).Row + 1
et de cette façon ce serait très improbable que ça fonctionne ainsi


row = ligne

column = colonne

xlup, xldown, xltoleft, xltoright, sont également à prendre en concidération ainsi que la plage de recherche
 
Dernière édition:

gilou31

XLDnaute Junior
Re : Macro copier coller

Voila, je crois que j'arrive à ma derniere question :d

ouf merci pour tout !

j'ai des cases à cocher, et dans le meme principe, je voudrais que les données sortantes s'ajoutent au tableau. J'ai vu que l'on pouvait lier les cases à cocher à des cellules, et avoir une réponse "VRAI" ou FAUX", suivant si la case est cochée ou non .

Mon probleme :
j'ai 3cases à cocher. Je souhaite que mes données se mettent dans mon tableau. Une seule des cases s'ajoutera au tableau. dois-je faire une fonction si ? ou une fonction ou ? ou quelque chose d'autre?
si oui de quelle maniere ?
 

gilou31

XLDnaute Junior
Re : Macro copier coller

Salut,

merci pour cette réponse elle ma beaucoup avancée.

Pouvez vous juste m'expliquer comment pour supprimer la données OUI / NON. Dans votre cas, je suis obligé de la cocher pour que alpha beta etC.... soit référencer. J'ai pu l'appliquer au mon cas sans soucis, ormis ce probleme.

De plus, sur ma version, les cases se décochent lorsque j'éxécute la commande.
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Macro copier coller

Salut,

merci pour cette réponse elle ma beaucoup avancée.

Pouvez vous juste m'expliquer comment pour supprimer la données OUI / NON. Dans votre cas, je suis obligé de la cocher pour que alpha beta etC.... soit référencer. J'ai pu l'appliquer au mon cas sans soucis, ormis ce probleme.

De plus, sur ma version, les cases se décochent lorsque j'éxécute la commande.

Normal le OUI/Non est maître sur les autres


Code:
Private Sub CommandButton1_Click()
[j4].Select
[COLOR="Red"]If ouinon.Value = True[/COLOR] Then
  txt = "oui"
  If CheckBox1 Then
   txt = txt & "@alpha"
  End If
  If CheckBox2 Then
   txt = txt & "@bêta"
  End If
  If CheckBox3 Then
   txt = txt & "@charly"
  End If
  If CheckBox4 Then
   txt = txt & "@delta"
  End If
    If CheckBox5 Then
   txt = txt & "@echo"
  End If

  If Left(txt, 1) = "@" Then txt = Right(txt, Len(txt) - 1)
  txt = Replace(txt, "@", " + ")
  ActiveCell.Value = txt
  Else
  For i = 1 To 5
  ActiveSheet.OLEObjects.Item("CheckBox" & i).Object.Value = False
  Next
  ActiveCell.Value = "Rien de coché ou O/N pas coché"
  End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
313 344
Messages
2 097 336
Membres
106 916
dernier inscrit
Soltani mohamed