VBA XLS Boucle avec instruction de mise àjour
guitad.gibs
-
guitad.gibs -
guitad.gibs -
Bonjour,
je suis débutant dans l'utilisation des boucles.
Voici mon souci: je lance une boucle pour attribuer une valeur entre 115 et 118 et je copie colle la valeur de la cellule trouvée sur une deuxième qui me permet de mettre à jour un tableau de gestion.
Problème la première boucle s'applique bien mais il attend la dernière valeur pour exécuter l'instruction de mise à jour (Application.SendKeys "%yFr", True).
voici le code:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Dim x
x = 115
Do While x <= 118
x = x + 1
Cela fonctionne bien: applique la boucle sur la cellule B&x puis copie colle valeur sur D12.
Range("B" & x).Select
Selection.Copy
Range("D12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Attention erreur cette instruction s'exécute qu'à la fin de ma boucle, moi je voudrais qui s'exécute à chaque valeur attribuée dans la boucle comme faire?.
Cela ne marche pas
With Selection
Range("A12").Select
Application.SendKeys "%yFr", True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End With
Loop
End Sub
Merci à vous tous pour les réponses
je suis débutant dans l'utilisation des boucles.
Voici mon souci: je lance une boucle pour attribuer une valeur entre 115 et 118 et je copie colle la valeur de la cellule trouvée sur une deuxième qui me permet de mettre à jour un tableau de gestion.
Problème la première boucle s'applique bien mais il attend la dernière valeur pour exécuter l'instruction de mise à jour (Application.SendKeys "%yFr", True).
voici le code:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Dim x
x = 115
Do While x <= 118
x = x + 1
Cela fonctionne bien: applique la boucle sur la cellule B&x puis copie colle valeur sur D12.
Range("B" & x).Select
Selection.Copy
Range("D12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Attention erreur cette instruction s'exécute qu'à la fin de ma boucle, moi je voudrais qui s'exécute à chaque valeur attribuée dans la boucle comme faire?.
Cela ne marche pas
With Selection
Range("A12").Select
Application.SendKeys "%yFr", True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End With
Loop
End Sub
Merci à vous tous pour les réponses
A voir également:
- VBA XLS Boucle avec instruction de mise àjour
- Mise en forme conditionnelle excel - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Xls viewer - Télécharger - Tableur
3 réponses
Salut
Ta macro fonctionne normalement : Application.SendKeys rempli un tampon. Tant que ta macro n'est pas fini, le tampon attend pour voir si qqch arrive encore.
Dans ton cas, la solution, c'est de ne pas utiliser Application.SendKeys mais plutot un appel a une autre macro pour la maj de ton application de gestion
A+
Ta macro fonctionne normalement : Application.SendKeys rempli un tampon. Tant que ta macro n'est pas fini, le tampon attend pour voir si qqch arrive encore.
Dans ton cas, la solution, c'est de ne pas utiliser Application.SendKeys mais plutot un appel a une autre macro pour la maj de ton application de gestion
A+
je ne connais pas Hyperion mais essaie d'enregistrer une macro en cliquant sur le menu qui l'appelle :
menu outil -> macro-> nouvelle macro
puis clique sur le menu Hyperion
arrete l'enregistrement de la macro et va voir dans le module ce que ca a donné
avec un peu de chance, tu aura directement le code a recopier dans ta premiere macro
menu outil -> macro-> nouvelle macro
puis clique sur le menu Hyperion
arrete l'enregistrement de la macro et va voir dans le module ce que ca a donné
avec un peu de chance, tu aura directement le code a recopier dans ta premiere macro
l'appli de gestion s'appelle Hyperion et on peut la mettre à jour par le biais du menu xls, ou des touches par le biais de send keys?
T'as une suggestion à tel sujet? Comment peux je éviter mon tampon en utilisant alt yFr?
Merci encore
Adriano