pb de liens entre feuille

maelys

XLDnaute Junior
bonjour
je suis en train de finaliser un projet de vba
je voudrais que lorsque l on appuie sur un bouton de commande "incident " on ouvre une autre feuille dans laquelle on recopie trois valeurs.
ce bouton incident est present pour chaque operation faite pdt un jour.
l appui sur ce bouton etant facultatif,je voudrais qu il recopisse slt les valeurs lorsque l on appuie et a la "queu leu leu" car pr le moment je n arrive qu a recopier les trois premieres
merci d avance
j envoie le debut du code si ca peut vous aider:


Private Sub Worksheet_Activate()
Dim i As Integer, j As Integer
i = 7
j = 11


If Cells(i, 2).Value = "" Then
Sheets("incidente").Cells(i, 2).Value = Sheets("operacion").Cells(j, 2).Value
Sheets("incidente").Cells(i, 3).Value = Sheets("operacion").Cells(j, 3).Value
Sheets("incidente").Cells(i, 4).Value = Sheets("operacion").Cells(j, 4).Value
ElseIf Cells(i, 2).Value <> "" Then
i = i + 1
j = j + 1
End If

End Sub
 

ERIC S

XLDnaute Barbatruc
Re : pb de liens entre feuille

Bonjour

sub appui()
Dim derligne As Integer, j As Integer
derligne=Sheets("incidente").range("B65536").end(x|up).row
j = 11
Sheets("incidente").Cells(derligne+1, 2).Value = Sheets("operacion").Cells(j, 2).Value
Sheets("incidente").Cells(derligne+1, 3).Value = Sheets("operacion").Cells(j, 3).Value
Sheets("incidente").Cells(derligne+1i, 4).Value = Sheets("operacion").Cells(j, 4).Value
end sub

ce bout de code (non testé doit détecter la dernière cellule non vide en colonne B et donc ensuite remplit les données sur la ligne d'après

si tu mets le code en worksheet_activate, il y a mise à jour de ta feuille sans appui du bouton
A priori tu veux une mise à jour lors de l'appui donc tu mets le code dans un module et tu affectes la macro à ton bouton

A+
 

maelys

XLDnaute Junior
Re : pb de liens entre feuille

coucou
merci deja pour toutes ces infos, effectivement c est beaucoup plus simple sans avoir de condition, neanmoins il trouve une erreur dans l expression du end et je ne vois pas du tout ce que l on peut mettre si vous avez une idee , elle est la bienvenue!!!
autre ptite question juste pour etre sure, pour affecter ce code directement au bouton de commande, vu que j affiche la feuille deja j enleve juste le "sub appui()???:
merci bcp
 

ERIC S

XLDnaute Barbatruc
Re : pb de liens entre feuille

re

pour l'erreur, dans
Sheets("incidente").Cells(derligne+1i, 4).value
j'ai laissé un i après le 1, à supprimer

concernant le bouton : comment a-t'il été créé ?( barre d'outil formulaire ou contrôle)
si barre d'outil formulaire : copier la macro telle que donnée dans un module et après retour sur lafeuille XL, clic droit sur le bouton affecter une macro

A+
 

maelys

XLDnaute Junior
Re : pb de liens entre feuille

re
merci bcp tout fonctionne sauf que je viens de me rendre compte qu en realite je dois aussi faire varier la ligne de la premiere feuille elle ne doi pas rester a 11 mais doit correspondre au numero de la ligne sur lequel on a appuye sur le bouton de commande
encore merci d avance!!!
 

maelys

XLDnaute Junior
Re : pb de liens entre feuille

coucou
decidement encore moi
en mettant la derniere formule qui me semble pour le moins assez logique, il n ecrit plus rien peut etre c est du au fait que le bouton je l ai mis a l interieur de la case sans lui affecter la valeur de la case
je sais pas trop
merci encore et mille fois d avance
 

ERIC S

XLDnaute Barbatruc
Re : pb de liens entre feuille

Bonjour

désolé je n'étais pas dispo hier soir

un essai à faire : tu sélectionnes une case et ensuite tu appuies sur le bouton pour voir si cela fonctionne.

A ce que je comprends, tu as plusieurs boutons sur ta feuille. Si c'est le cas, il faut travailler en 2 temps

l'appui sur un bouton doit permettre de le localiser puis la macro se lance

dans ce cas une solution est d'utiliser la barre d'outil contrôle pour générer les boutons et non la barre d'outil formulaire

quand ton bouton est généré tu cliques droit et va dans visualiser le code

à chaque bouton tu mettras le code

call appui(11)

le 11 correspond à ton j et donc tu le changes à chaque bouton

tu transformes un peu ta macro appui (attention à l'espace qui se rajoute):

sub appui(j)
Dim derligne As Integer, j As Integer
derligne=Sheets("incidente").range("B65536").end(x |up).row
Sheets("incidente").Cells(derligne+1, 2).Value = Sheets("operacion").Cells(j, 2).Value
Sheets("incidente").Cells(derligne+1, 3).Value = Sheets("operacion").Cells(j, 3).Value
Sheets("incidente").Cells(derligne+1i, 4).Value = Sheets("operacion").Cells(j, 4).Value
end sub

ce qui fait que chaque bouton enverra la ligne j concernée

A+
 

maelys

XLDnaute Junior
Re : pb de liens entre feuille

coucou
merci beaucoup `pour tous ces rense¡gnements , j ai teste la solution d eric avec les boutons issus de la barre de controles, mais a vrai dire je dois me planter, je ne sais pas trop ou mettre la nouvelle macro dans un module, feuille 3 car pour le moment il me dit qu il ne reconnait pas la fonction.
autre ptite question: si je veux rajouter l affichage de la feuille je rajoute:
worksheets("feuil").activate apres call appui(11)??
merci beaucoup
je suis desole de poser plein de question mais a vrai dire je suis un peu perdue...
 

Discussions similaires

Statistiques des forums

Discussions
312 558
Messages
2 089 595
Membres
104 216
dernier inscrit
zapiboss