Explication code VBA
modeVBA
-
f894009 Messages postés 17416 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17416 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurais besoin qu'on m'explique le code VBA ci-dessous car j'aimerais l'intégrer à un tableau que j'ai créé sur Excel.
Je me suis vite perdue en modifiant à plusieurs reprises l'emplacements de certaines cellules, ce qui explique qu'après l'avoir intégré à mon tableau cela ne fonctionne pas comme je le souhaite.
Merci par avance pour toutes réponses même partielles.
Cordialement,
Une amatrice en VBA
J'aurais besoin qu'on m'explique le code VBA ci-dessous car j'aimerais l'intégrer à un tableau que j'ai créé sur Excel.
Sub Heure()
'Recherche de l'heure de lancement
Worksheets("Planning").Activate
Dim Reponse_2 As Variant
Message = "Heure de lancement :" 'Définit le message ' message.
Title = "Heure de début " 'Définit le titre.
'Affecte la machine systeme par default
Reponse_2 = InputBox(Message, Title, Default) 'Recupere la valeur dans reponse
If Reponse_2 <> "" Then 'Test si reponse est different de vide
'Worksheets("Planning").Activate
Cells.Find(What:=Reponse_2, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(1, 0).Select
Dim l_1 As Variant
l_1 = (ActiveCell.Row)
Dim c_1 As Variant
c_1 = (ActiveCell.Column)
If (c_1 + d) > 24 Then
Range(Cells(l_1, c_1), Cells(l_1, 24)).Select
Range(Cells(l_1, c_1), Cells(l_1, 24)).Interior.ColorIndex = 7
Dim sup As Variant
sup = (((c_1 + d) - 24) - 1)
Worksheets("Planning").Select
Range("F25").Select
Cells.Find(What:=Reponse_1, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Select
ActiveCell.Offset(1, 0).Select
Dim j1 As String
j1 = ActiveCell
Worksheets("Planning").Activate
Cells.Find(What:=j1, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Select
Cells.Find(What:=1, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(1, 0).Select
Dim l_2 As Variant
l_2 = (ActiveCell.Row)
Dim c_2 As Variant
c_2 = (ActiveCell.Column)
Range(Cells(l_2, c_2), Cells(l_2, c_2 + sup)).Select
Range(Cells(l_2, c_2), Cells(l_2, c_2 + sup)).Interior.ColorIndex = 7
Else
Range(Cells(l_1, c_1), Cells(l_1, c_1 + d)).Select
Range(Cells(l_1, c_1), Cells(l_1, c_1 + d)).Interior.ColorIndex = 7
End If
End If
10
Planifier.Show
End Sub
Je me suis vite perdue en modifiant à plusieurs reprises l'emplacements de certaines cellules, ce qui explique qu'après l'avoir intégré à mon tableau cela ne fonctionne pas comme je le souhaite.
Merci par avance pour toutes réponses même partielles.
Cordialement,
Une amatrice en VBA
A voir également:
- Explication code VBA
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
2 réponses
Bonjour,
J'aurais besoin qu'on m'explique le code VBA ci-dessous
Y en a pas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
J'aurais besoin qu'on m'explique le code VBA ci-dessous
Y en a pas !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Re,
ce qui explique qu'après l'avoir intégré à mon tableau cela ne fonctionne pas comme je le souhaite. Ben, ce qui nous interesserait, c'est ce que vous souhaitez et votre fichier sans donnees sensibles car le code presente est pour le moins curieux
ce qui explique qu'après l'avoir intégré à mon tableau cela ne fonctionne pas comme je le souhaite. Ben, ce qui nous interesserait, c'est ce que vous souhaitez et votre fichier sans donnees sensibles car le code presente est pour le moins curieux
Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Merci le voici: http://cjoint.com/?0EApxrv25Wp
Pour l'explication: je désire que la "durée total" indiquée permette lorsque je clic sur le boutton créé que la plage horaire se colorie automatiquement à partir du début de durée que j'aurais à indiqué grâce à un code VBA et un userform.
J'espère avoir été plus claire.
Merci
Pour l'explication: je désire que la "durée total" indiquée permette lorsque je clic sur le boutton créé que la plage horaire se colorie automatiquement à partir du début de durée que j'aurais à indiqué grâce à un code VBA et un userform.
J'espère avoir été plus claire.
Merci
Re,
en principe plage horaire jour: de 0h a 23h pas de 1 a 24 !!!!!
à partir du début de durée que j'aurais à indiqué grâce à un code VBA et un userform. Donc le inputbox est pour le debut et plage a colorier debut + duree total, mais pour quelle(s) lignes car il n'y a qu'un bouton ???
la variable d sort d'ou ????? ex: If (c_6 + d) > 24 Then
en principe plage horaire jour: de 0h a 23h pas de 1 a 24 !!!!!
à partir du début de durée que j'aurais à indiqué grâce à un code VBA et un userform. Donc le inputbox est pour le debut et plage a colorier debut + duree total, mais pour quelle(s) lignes car il n'y a qu'un bouton ???
la variable d sort d'ou ????? ex: If (c_6 + d) > 24 Then
Re,
Effectivement il n'y en a qu'un pour l'instant car je test le code mais mon idée serait d'en créer un à chaque ligne car je ne sais pas faire autrement, donc pour chaque durée liée au "Tth".
Ici mon premier bouton créé correspond donc à la ligne du premier "Tth" à savoir L24 mais le coloriage s'eefectue à la ligne en dessous donc L25.
Pour la plage horaire le 24 correspond à minuit car en effet si je décide que le coloriage débute à 22h et que la durée total est de 6h il faudrait que le coloriage "déborde" à la plage horaire suivante (au jours suivant) jusqu'au niveau de la case "3"
Le "d" dans le code devrait correspondre à la durée.
Je vous remercie de l'intérêt que vous portez à ce travail et j'espère que vous arrivez à me suivre.
Effectivement il n'y en a qu'un pour l'instant car je test le code mais mon idée serait d'en créer un à chaque ligne car je ne sais pas faire autrement, donc pour chaque durée liée au "Tth".
Ici mon premier bouton créé correspond donc à la ligne du premier "Tth" à savoir L24 mais le coloriage s'eefectue à la ligne en dessous donc L25.
Pour la plage horaire le 24 correspond à minuit car en effet si je décide que le coloriage débute à 22h et que la durée total est de 6h il faudrait que le coloriage "déborde" à la plage horaire suivante (au jours suivant) jusqu'au niveau de la case "3"
Le "d" dans le code devrait correspondre à la durée.
Je vous remercie de l'intérêt que vous portez à ce travail et j'espère que vous arrivez à me suivre.
Je viens de modifier ma demande, le code devrais donc apparaitre.
Cordialement,