copiercoller valeur automatique

hellle

XLDnaute Nouveau
Bonjour ! :)

Je reviens poser une question qui me semble élémentaire, mais dont je n'arrive pas à trouver la réponse malgré des heures de recherche...
Je voudrais renvoyer automatiquement la valeur de la cellule F4 (qui est une liaison à un autre classeur) à la cellule L41, avec une formule, sans que la formule en question soit présente dans L41.

Je n'ai trouvé qu'une macro, que j'ai détourné à mon profit, pour faire cela, elle le fait fort bien d'ailleurs. Mais je pense qu'il doit y avoir plus simple.
Si ce n'est pas le cas, j'aurais besoin d'un petit conseil pour finir de détourner cette macro...
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

bonjour :)

Alors... je n'ai pas fait explosé le pc... j'arrive à créer la macro sur l'événement "open" dans workbook, ce qui est déjà un mieux.

Mais je n'arrive pas faire fonctionner celle qui démarre à l'actualisation des liaisons de la feuille...Soit je suis à coté de la plaque, soit je ne fournis pas toutes les infos nécessaires. :eek:
Voici voili :


Code:
Private Sub Workbook_AfterXmlImport(ByVal Map As XmlMap, ByVal IsRefresh As Boolean, ByVal Result As XlXmlImportResult)
 
 
          Range("L41") = "1/1/" & Year(Range("AH6"))


End Sub


Bon week end !
 

JNP

XLDnaute Barbatruc
Re : copiercoller valeur automatique

Bonjour Hellle :),
Je n'avais jamais utilisé cet événement, mais j'ai testé et ça fonctionne. Par contre, logiquement, l'action se passe sur la feuille active, là où tu fait l'import XML. Il faudrait préciser sur quelle feuille tu changes la cellule
Code:
Sheets("Feuil1").Range("L41") = "1/1/" & Year(Sheets("Feuil1").Range("AH6"))
Bonne journée :cool:
 

vbacrumble

XLDnaute Accro
Re : copiercoller valeur automatique

Bonjour Helle, JNP, le peuple du forum

Pour infos
Code:
Sheets("Feuil1").Range("L41") = "1/1/" & Year(Sheets("Feuil1").Range("AH6"))
peut s'écrire
Code:
With Sheets("Feuil1")
.Range("L41")= "1/1/" & Year(.Range("AH6"))
End With
Ou en plus court
Code:
Sub versioncourte()
With Sheets(1)
.[L41] = "1/1/" & Year(.[AH6])
End With
End Sub

PS: le but : 54 caractères versus 76 caractères ;)
 
Dernière édition:

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

Merci à tous deux de vos réponses :)


Après de multiples essais, avec tous les codes que vous m'avez fournis, il semble finalement que l'évenement "open" puisse démarrer à partir d'une date modifiée par formule ( c'est le cas de AH6 ), alors que l'événement "after xml import", lui, ne puisse démarrer que sur une date statique.

C'est le serpent qui se mord la queue, mais "open" fonctionne fort bien, et peut-être que le mieux est l'ennemi du bien :p

A special thanks à "mon professeur de macro" en titre, JNP :D
 

chripatoche

XLDnaute Nouveau
Re : copiercoller valeur automatique

Bonjour JNP,

Mon problème rejoint un peu celui-ci, et je vois que ma solution passe par VBA mais je ne connais rien en macro, VBA et autre. C'est pour cela que je suis coincé.

Actuellement la cellule F13 est "configurée" en données de validation avec une liste déroulante :

SEMATIN;SEMJOUR;SEMAPREMID;SEMSOIR;SEMNUIT;WEMATIN;WEAPRMID;WESOIR;WENUIT

J'aimerai que les cellules E13 et E14 et E15 (si D13, 14,15, etc... non vide) etc... prennent la valeur de la cellule A23 ou A24 ou A25 ou etc... suivant le choix affiché de la liste de F1. Et ceci sans avoir à inscrire de formule dans E13, E14, Etc... car je dois aussi pouvoir y saisir une valeur manuellement.

A la place de la cellule F1 une boîte offrant le choix de ma liste déroulante m'irait, et suivant le choix, la cellule E1, etc... prendrait la valeur cellule A1, etc.. correspondante.

Je joint un fichier exemple.

Merci pour ton aide
Chripatoche
 

Pièces jointes

  • Planning2011.xls
    38.5 KB · Affichages: 58

chripatoche

XLDnaute Nouveau
Re : copiercoller valeur automatique

Salut Tototiti2008

Merci de répondre aussi vite, je n'y croyais pas en ce début du mois d'eoût.

Il est vrai que ce n'est pas F1 mais F12 ou E12 puisque CELL fusionnées.

En faite j'ai réadaptée la liste (voir ci-dessous) et le Xls joint Planning2011_V2.xls.
Comme tu as pu voir c'est une ébauche de planning et suivant les mois, les débuts ou fins de mois peuvent aussi bien tomber en pleine semaine qu'en début , voir WE.

SEMMATIN : du lundi au vendredi = A24

SEMJOURNEE : du lundi au vendredi = A25

SEMJOURASTRE : du lundi au vendredi = A25

SEMAPREMIDI: du lundi au vendredi = A26

SEMSOIR : du lundi au vendredi = A28

SEMNUIT : du lundi au vendredi = A29

WEMATIN : lundi et mardi : A25 ; samedi et dimanche : A24

WEJOURASTRE : lundi, mardi et mercredi : A25 ; samedi et dimanche : A25

WESOIR : lundi, mardi et mercredi : A25 ; samedi et dimanche : A28

WENUIT : lundi, mardi et mercredi : A25 ; samedi et dimanche : A29

SI E12 est vide alors E13, E14,etc sont vides

Merci encore pour ta célérité.
 

Pièces jointes

  • Planning2011_V2.zip
    11.7 KB · Affichages: 21
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : copiercoller valeur automatique

Bonjour chripatoche,

désole je ne peux pas ouvrir les zip

Peut-être avec une procédure évènementielle (Change) sur la feuille, et un tableau qui dirait dans quelle cellule aller chercher la valeur
 

Pièces jointes

  • Planning2011(1).zip
    12.5 KB · Affichages: 20

Discussions similaires

Réponses
6
Affichages
137

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves