Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Bonjour,
Et bien... au taf ! Excellente opportunité de se former au VBA ;)
Dans l'ordre, à coder (une solution parmi d'autres) :
- Créer un bouton sur la feuille source qui va créer la mise en forme sur la feuille de destination (onglet développeur -> Insérer -> bouton activeX)
- Lui changer...
Bonjour,
- Déclarer les variables : i as long, etc
- Créer un array : dim Tablo()
- Désactiver le rafraichissement d'écran : application.screenupdating
- Transférer la plage dans l'array : tablo = range(...)
- Boucler sur l'array et mettre en place un compteur et une condition pour surligner...
Bonsoir Roseline,
Une proposition en VBA :
- A affecter au worksheet_change de la feuille concernée
'La variable Antiboucle permet d'éviter une execution en boucle à cause du changement effectué par le undo
'L'adresse de la colonne ciblée ("B:B") est à adapter
If AntiBoucle = False And...
Bonsoir Doudou33,
Ce que tu me demandes en vba est réalisé par le fichier que je t'ai proposé.
Si tu veux comprendre mon code et interagir avec il te faut comprendre le principe d'une variable, d'une range, d'un array, d'un dictionnaire, d'une boucle for, d'une condition if, et d'une...
Bonsoir,
Désolé doudou, je n'ai rien compris..
Si j'essaie de lire entre les fautes de syntaxe, je comprends que tu ne veux pas avoir le codage pour faire un tableau de synthèse. OK. Mais on mets le résultat où ? Faut-il avoir du code pour répondre à ton besoin ?
Suffit d'éditer ou adapter...
Bonsoir scoubidou, le forum,
Je me suis un peu amusé. A ma connaissance, impossible de lier les TCD à des actions utilisables en VBA. Par contre l'inverse est vraie. Je pense que mon code est suffisament explicite pour pouvoir s'adapter, si besoin de précision ou d'explication demander ici ^^...
Bonsoir Emirogo, le forum,
Une solution simple :
Private Sub CommandButton1_Click()
With Sheets("Compte")
If .Range("C13") = "" Then
.Range("C13") = TextBox1
Else
.Range("C" & .Range("C1048576").End(xlUp).Row + 1) = TextBox1
End If
dlt =...
Je vais regarder ça, merci :)
Quelques sites très utiles pour se former en VBA car concrets et présentés clairement :
https://silkyroad.developpez.com/
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#accueil_vba
http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm
J'ai quasiment tout...
Bien ce qui me semblait. Les formules, matricielles ou non, ne sont et ne seront jamais adaptées aux gros volumes.
Je me rappelle à mes débuts en compta, quand je ne bricolait que via des formules.. Outil très efficace ! J'avais réussi à faire passer 4h de travail de la cheffe qu'elle...
Re-bonjour,
Je me suis amusé à rajouter des lignes pour voir les limites de mon code, je l'ai pas mal optimisé du coup (moins d'une seconde pour traiter plus de 137 000 lignes quand modification de la base). Voir fichier joint.
Je me pencherai sur la formule matricielle après le marché.
@+
Bonjour,
3 autres solutions dans le fichier joint :
- tableau croisé (à actualiser à chaque fois)
- filtres (grand classique)
- macro VBA (le plus rapide et pratique, à adapter) qui actualise à chaque changement de cellule dans la feuille de données
@ plus
Pour chronométrer une macro simplement pour faire des tests de rapidité d'exécution :
Dim Chrono as single
Chrono = Timer
Code
Chrono = Timer - Chrono
Debug.Print Chrono & " s"
Bonsoir,
Pas d'accord. A chaque ligne de code ayant une action entraînant un rafraichissement d'écran se cumulera un ralentissement dans l'exécution de la macro. Donc une ligne s’exécutera beaucoup plus rapidement que plusieurs.
Il y a la possibilité d'intégrer application.screenupdating =...
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.