Titre avec du texte & le contenu d'une cellule VBA

Bonjour à tout et bonne année

Voici mon problème dans une macro

J’ai une cellule A35 ou il est écrit une nombre (- 18).

Et j'aimerais écrire dans la cellule A53 ( Calcule d'incertitude pour la température de : ( là je mets la valeur de la cellule A35)

Voici le bout de code que j'ai fait

Range("A53").Select

ActiveCell.FormulaR1C1 = " Calcul d'incertitude pour la température de :"

Pouvez-vous m'aider

En vous remerciant par avance.

Bonjour,

With ActiveSheet
    .Range("A53") = "Calcul d'incertitude pour la température de : " & .Range("A35").Text
End With

Et essaie d'oublier l'enregistreur !

Merci Beaucoup cela marche très bien =)

Par contre je ne comprend pas très bien pourquoi tu utilise la fonction with car cela rajoute 2 lignes pour pas grand chose.

Mais étant un novice dans le monde du VBA tu doit avoir de bonne raison

Mais si je fait cela pour mon programme qui fait plus de 1800 lignes alors le nombre de ligne exploserais non ?

En tout cas merci beaucoup


Et j'aimerais mettre °C derrière le nombre compris dans la cellule. Comment je peux m'y prendre ?

En effet, le plus souvent on ne les rajoute pas...

Et le plus souvent aussi on ne qualifie pas ses expressions, c'est à dire que l'on utilise Range (ou autre objet) sans le référer à son objet Parent en laissant VBA le chercher, donc chercher la feuille active du classeur actif pour rattacher l'objet puisque non qualifié.

Le code écrit ainsi est approximatif, dépendant du contexte, et plus lent.

La qualification rend le code plus sûr et plus rapide.

L'utilisation de With lorsqu'il y a répétition, le rend encore plus rapide...

Prônant l'idée que l'on doit systématiquement doter toutes ses expressions de qualificateurs d'objet, je ne me permets plus de ne pas le faire, même en n'écrivant qu'une seule ligne !

Certes, sur une ligne tu n'as aucune chance de sentir une différence... Mais en prenant l'habitude dès le départ d'écrire un code précis, au fil des extensions ce sont déjà des dizaines de recherche d'erreurs qui seront évitées, car un code approximatif peut à tout moment ne plus fonctionner comme prévu ou générer des erreurs si le contexte dans lequel il s'exécute s'est trouvé modifié...

Cordialement.


Mais si je fait cela pour mon programme qui fait plus de 1800 lignes alors le nombre de ligne exploserais non ?

Pas du tout... mais 1800 lignes ? Pas en une seule macro j'espère ?

Je comprends mieux l’intérêt du with.

Après Jai un programme de 1800 ligne en 1 seul macro.

Cela peut -il être dangereux ? Après étant novice dans le langage VBA Jai pas dut passer par le plus court chemin. Mais je dois avouer que ma macro met du temps à s’exécuter.

Car pour le moment mon programme marche très bien sur plusieurs machines.

J’ai juste une question sur comment rajouter du texte derrière la valeur de la cellule B35 ?

Je n’ai pas trouvé.

Cordialement

ma macro met du temps à s’exécuter

C'est le premier symptôme d'un code insuffisamment optimisé...

On conseille généralement une programmation modulaire : une procédure principale (le fil rouge de l'opération) qui en actionne d'autres en leur passant s'il y a lieu les paramètres à utiliser, ainsi que des fonctions si besoin de résultats calculés pour poursuivre. Cela permet de réduire globalement le volume de code en évitant des répétitions : une phase qui se répète de façon semblable peut faire l'objet d'une procédure auxiliaire qui sera appelée plusieurs fois avec des paramètres différents...

Enfin, on peut toujours prédire que le code n'est pas optimisé tant qu'on n'en a pas expurgé les Select, Selection, Activate et autres consorts, et tant qu'on ne limite pas à ce qui est strictement indispensable les interactions avec Excel (on prélève les données, on les traite hors Excel, on les rend une fois traitées), ce qu'on ne peut obtenir sans utiliser des boucles et tableaux, ainsi que nombre d'instructions proprement VBA.

Pour rajouter du texte, tu le concatènes à ce qui précède :

.... & " nouveau texte."

je te remercie MFERRAND.

Je comprends ce que tu veux dire met j'en suis tout simplement incapable pour le moment.

Par contre on a dépassé un peut le sujet. =)

Je te remercie encore une fois de m’avoir aidé.

J’ai une dernière question qui n’a rien à voir avec le sujet

Je dois écrire (°C) dans plusieurs cellules mais je n’arrive pas à l’écrire simplement.

Je suis obligé de l’écrire cellule par cellule.

J’ai essayer

Range("H11 ;C13 ").Value = "°C"

Mais cela ne marche pas.

Peux-tu m’aider ?

Cordialement

Range("H11, C13").Value = "°C"

Le séparateur de liste à utiliser en VBA est la virgule.

Je te remercie grandement.

J’arrête de t'embêter.

Bonne continuation.

Cordialement

ARTIGUE

Rechercher des sujets similaires à "titre texte contenu vba"