Copie contenu cellule feuille1 vers feuille2
Résolu/Fermé
A voir également:
- Copie contenu cellule feuille1 vers feuille2
- Copie cachée - Guide
- Windows 7 vers windows 10 - Guide
- Copie écran samsung - Guide
- Word a trouvé du contenu illisible - Guide
- Aller à la ligne dans une cellule excel - Guide
5 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
9 juin 2008 à 12:27
9 juin 2008 à 12:27
Bonjour,
Je n'ai pas tout regardé mais il y a une mauvaise compréhension de la fonction "evaluate" ( les [ ]).Normalement cette fonction est utilisée pour la rédaction de formules matricielles en VBA.
Parce que ca évite d'écrire worksheets, range etc., elle est utilisée par "poil dans la main" (je l'utilise souvent!!!)
["GlobalMenu"!A(ligne)] = ["PRESENTATION"!A(ligne)]
en attendant evaluate renvoie la valeur, donc tu ne peux pas utiliser les crochets pour une variable (ou cellule) à laquelle tu affectes une valeur...
donc.
sheets("globalmenu").range("A" & ligne)= [.....
Maintenant, il y a peut-être d'autres choses...
Evite autant que faire se peut les "Sélect" qui ralentissent tout
Michel
Je n'ai pas tout regardé mais il y a une mauvaise compréhension de la fonction "evaluate" ( les [ ]).Normalement cette fonction est utilisée pour la rédaction de formules matricielles en VBA.
Parce que ca évite d'écrire worksheets, range etc., elle est utilisée par "poil dans la main" (je l'utilise souvent!!!)
["GlobalMenu"!A(ligne)] = ["PRESENTATION"!A(ligne)]
en attendant evaluate renvoie la valeur, donc tu ne peux pas utiliser les crochets pour une variable (ou cellule) à laquelle tu affectes une valeur...
donc.
sheets("globalmenu").range("A" & ligne)= [.....
Maintenant, il y a peut-être d'autres choses...
Evite autant que faire se peut les "Sélect" qui ralentissent tout
Michel
J'oublie de préciser une chose.
Je suis preneur de toute aide sur ce sujet !!!
Je dis simplement ça afin de ne pas éventuellement heurter le la timidité de celui ou celle qui n'oserait pas se glisser dans ce poste en cours...
:-)))
Je suis preneur de toute aide sur ce sujet !!!
Je dis simplement ça afin de ne pas éventuellement heurter le la timidité de celui ou celle qui n'oserait pas se glisser dans ce poste en cours...
:-)))
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
9 juin 2008 à 15:41
9 juin 2008 à 15:41
Re,
Je marche à tâtons car sans voir le truc...
Tu parles du contenu de la cellule P(x) de presentation a copier dans A (x) de globalmenu
mais je lis
Sheets("GlobalMenu").Range("A" & ligne) = ["PRESENTATION"!A(ligne)]
alors peut-être que:
Sheets("GlobalMenu").Range("A" & ligne) = range("P" & ligne)
tu n'as pas besoin de préciser "présentation" car quelques lignes avant, tu as forcé sur cet onglet
Maintenant sur le fonctionnement tu n'inscris dans globalmenu que les nouveaux commentaires demandés sur présentation ?
Michel
Je marche à tâtons car sans voir le truc...
Tu parles du contenu de la cellule P(x) de presentation a copier dans A (x) de globalmenu
mais je lis
Sheets("GlobalMenu").Range("A" & ligne) = ["PRESENTATION"!A(ligne)]
alors peut-être que:
Sheets("GlobalMenu").Range("A" & ligne) = range("P" & ligne)
tu n'as pas besoin de préciser "présentation" car quelques lignes avant, tu as forcé sur cet onglet
Maintenant sur le fonctionnement tu n'inscris dans globalmenu que les nouveaux commentaires demandés sur présentation ?
Michel
Maouais,
Je tente d'être le plus clair possible, mais il faut reconnaître que ce n'est apas toujours très facile.
Donc je reformule et tu me dis si cela devient un peu plus clair pour toi.
Je suis en train de mettre au point un système sous excel afin de suivre l'évolution ou la progression d'une phase de tests de produits dans un bureau d'études.
Pour cela je dois d'un côté écrire des processus de tests afin d'expliquer comment et dans quels conditions sont réalisés les tests de 'validation'. De l'autre je dois 'traiter' les informations suivant le résulats de tests (OK, NonOK,...).
Sachant que j'ai et je ne cesse de créer des onglets répondant à 'requêts' particulières de traitement ou d'affichage des résulats, j'ai tout simplement décidé qu'un onglet de présentation devra présenter la liste de chaque onglet existant avec pour chacun un commentaire (afin d'aider l'utilisateur dans ses déplacement au sein dufichier excel).
N'étant un super pro de la programmation, et pour contourner certains bugs je suis dans l'obligation de stocker mes commentaires dans un premier temps dans la colonne P de l'onglet PRESENTATION puis de copier ces données dans l'onglet MainMenu. pourquoi cela me diras tu ?
Rien de plus simple l'onglet PRESENTATION est supprimé et recrée afin de pendre en compte les éventuelles modifications (insertion de feuille par exemple) lors du lancement d'une macro dite ListeFeuilles ou encore à l'ouverture du fichier ou cette même macro est aussi 'appellée'.
Donc la mofi que je t'ai demandé n'est qu'un petit 'truc' je ne vois pas d'autres mots me ermettant de toujours avec les commentaires sauvegardé quelque part après qu'ils aient été au moins une fois tapés.
En espérant que cela clarifie les choses pour toi.
Le programme marche, je sais que les select ralentissent tout mais je ne sais pas comment m'en passer dans tous les cas, alors je fais avec...
Je tente d'être le plus clair possible, mais il faut reconnaître que ce n'est apas toujours très facile.
Donc je reformule et tu me dis si cela devient un peu plus clair pour toi.
Je suis en train de mettre au point un système sous excel afin de suivre l'évolution ou la progression d'une phase de tests de produits dans un bureau d'études.
Pour cela je dois d'un côté écrire des processus de tests afin d'expliquer comment et dans quels conditions sont réalisés les tests de 'validation'. De l'autre je dois 'traiter' les informations suivant le résulats de tests (OK, NonOK,...).
Sachant que j'ai et je ne cesse de créer des onglets répondant à 'requêts' particulières de traitement ou d'affichage des résulats, j'ai tout simplement décidé qu'un onglet de présentation devra présenter la liste de chaque onglet existant avec pour chacun un commentaire (afin d'aider l'utilisateur dans ses déplacement au sein dufichier excel).
N'étant un super pro de la programmation, et pour contourner certains bugs je suis dans l'obligation de stocker mes commentaires dans un premier temps dans la colonne P de l'onglet PRESENTATION puis de copier ces données dans l'onglet MainMenu. pourquoi cela me diras tu ?
Rien de plus simple l'onglet PRESENTATION est supprimé et recrée afin de pendre en compte les éventuelles modifications (insertion de feuille par exemple) lors du lancement d'une macro dite ListeFeuilles ou encore à l'ouverture du fichier ou cette même macro est aussi 'appellée'.
Donc la mofi que je t'ai demandé n'est qu'un petit 'truc' je ne vois pas d'autres mots me ermettant de toujours avec les commentaires sauvegardé quelque part après qu'ils aient été au moins une fois tapés.
En espérant que cela clarifie les choses pour toi.
Le programme marche, je sais que les select ralentissent tout mais je ne sais pas comment m'en passer dans tous les cas, alors je fais avec...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
9 juin 2008 à 16:27
9 juin 2008 à 16:27
Ok, regarde la modif que je t'ai proposé et dis moi (je ne pige pas pourquoi "valeur")...
Laissons de coté les "select" car l'important n'est pas de refaire une station orbitale mais que tu puisses facilement faire la maintenance de ton appli. Dito pour la feuille temporaire "présentation".
Pour eviter les clignotements de l'écran ecris cette ligne après les déclarations:
Application.screenupdating=false
Dans l'attente (suis à la mine donc délais aléatoire)
Michel
Laissons de coté les "select" car l'important n'est pas de refaire une station orbitale mais que tu puisses facilement faire la maintenance de ton appli. Dito pour la feuille temporaire "présentation".
Pour eviter les clignotements de l'écran ecris cette ligne après les déclarations:
Application.screenupdating=false
Dans l'attente (suis à la mine donc délais aléatoire)
Michel
Re,
Ok je vais tenter différentes choses.
Ta dernière remarque m'intéresse je vais l'intégrer dans mes macros.
Je suis obligé de m'absenter car une réunion vient de me tomber dessus...
Je te recontacte demain.
Encore merci pour ton aide.
Chacun à ses petits impératifs professionnels, alors on aura bien l'occasion de se recontacter.
Je laisse donc le Post ouvert jusqu'à au moins mercredi.
Un dernier truc, je viens de relire vite fait ce que j'ai tapé, et bien j'ai fait une superbe collection de fautes de frappe en tout genre. Il vafalloir que j'y fasse un peu plus attention, ça ne facilite pas la compréhension...
A très bientôt je l'espère.
Et déjà, merci pour ton aide.
Au fait si quelqu'un d'autre souhaite ou peut m'apporter son qide, je suis toujours preneur.
A+ Michel
Ok je vais tenter différentes choses.
Ta dernière remarque m'intéresse je vais l'intégrer dans mes macros.
Je suis obligé de m'absenter car une réunion vient de me tomber dessus...
Je te recontacte demain.
Encore merci pour ton aide.
Chacun à ses petits impératifs professionnels, alors on aura bien l'occasion de se recontacter.
Je laisse donc le Post ouvert jusqu'à au moins mercredi.
Un dernier truc, je viens de relire vite fait ce que j'ai tapé, et bien j'ai fait une superbe collection de fautes de frappe en tout genre. Il vafalloir que j'y fasse un peu plus attention, ça ne facilite pas la compréhension...
A très bientôt je l'espère.
Et déjà, merci pour ton aide.
Au fait si quelqu'un d'autre souhaite ou peut m'apporter son qide, je suis toujours preneur.
A+ Michel
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
>
Evinrude44
11 juin 2008 à 10:24
11 juin 2008 à 10:24
Bonjour,
Beaucoup de boulot à la mine jusqu'à jeudi ap-midi au plus tôt....
Mais il y a du monde qui peut t'aider sur le forum...
Michel
Beaucoup de boulot à la mine jusqu'à jeudi ap-midi au plus tôt....
Mais il y a du monde qui peut t'aider sur le forum...
Michel
Evinrude44
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
11 juin 2008 à 16:18
11 juin 2008 à 16:18
Re Bonjour,
J'ai réalisé quelques améliorations et aussi simplifications (merci michel_m).
Donc on peut considérer que ce post est OK.
Salut!
J'ai réalisé quelques améliorations et aussi simplifications (merci michel_m).
Donc on peut considérer que ce post est OK.
Salut!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
9 juin 2008 à 14:28
Merci pour tes commentaires.
N'étant qu'un jeune débutant en excel, je fais des erreurs qui peuvent paraître simples mais il faut bien commencer par quelque chose.
Je viens de modifier le code conformémént à ton conseil et voilà ce que cela donne.
-----------------------------------------------------------------------------------------------------------------------------------------
macro enregistrée le 05/06/2008
'Call ListeFeuilles
On Error GoTo FinProc
Dim CommentaireOnglet As String
Dim Nbr As Integer
Dim CompteurTemp As Integer
Dim saisie As Variant
Sheets("PRESENTATION").Select
For ligne = 2 To Sheets.Count
If Range("P" & ligne).Value = "" Then
saisie = InputBox("Tapez votre commentaire :", "Boite de saisie")
Range("P" & ligne).Value = saisie
'Range("A!GlobalMenu" & ligne).Value = Range("P" & ligne).Value
'["GlobalMenu"!A(ligne)] = ["PRESENTATION"!A(ligne)]
Sheets("GlobalMenu").Range("A" & ligne) = ["PRESENTATION"!A(ligne)]
End If
Next ligne
For J = 2 To Sheets.Count
Next J
For I = 3 To Sheets.Count
CommentaireOnglet = Range("P" & I - 1)
Range("B" & I).Select
Range("B" & I).AddComment
Range("B" & I).Comment.Visible = False
Range("B" & I).Comment.Text Text:=CommentaireOnglet & Chr(10) & ""
Next I
FinProc:
'If Range("B" & I).AddComment.Visible Then
MsgBox ("Commentaire déjà présent!")
'End If
DebutProc:
End Sub
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Tout fonctionne correctement à la première activation de la macro CommentAuto uniquement.
Sauf que , et c'est important, j'ai un défaut valeur(#VALEUR!)ui s'affiche dans l'onglet MenuGlobal dans la colonne A aux emplacements A(1) à A(Ligne).
J'avais quand même pris soin de déclarer le contenu de la colonne A de l'onglet GlobalMenu comme étant de type standart (ça ne marche pas) et texte (idem, ça ne marche pas...).
Même chose si je déclare dans mon code saisie comme "string" au lieu de variant.
Donc j'ai deux questions:
1-Qelle variable déclarer pour ne pas avoir cette erreur?
2-Je ne vois comment je peux traiter de manière correcte le cas ou les commentairtes existe déjà afin qu'il ne bloque pas le programme.
Dans le cas l'erreurest de type 1004 et elle se positionne toujours sur la ligne "Range("B" & I).AddComment".