insertion de colonne par VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gege21

XLDnaute Occasionnel
bonsoir a tous,

j'ai besoin de votre aide

j'ai une macro qui me mais dans la même colonne la date et d'heurs (colonne "A" date colonne "b" heurs et sont envoyé dans le colonne "r"

ma demande et que je voudrai insère "date + heurs" en colonne "c"

a savoir qu'il y a des donnes dans toutes les colonne

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ligne = Target.Row
If Not Intersect(Target, Range("A2:B" & Range("A1048576").End(xlUp).Row)) Is Nothing Then
Cells(ligne, 18).Value = Cells(ligne, 1).Value & "  " & format(Cells(ligne, 2).Value, "hh:mm")
End If
End Sub

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Dernière édition:
Re : insertion de colonne par VBA

Salut gege21 et le forum
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range, Plage As Range
Set Plage = Intersect(Target, Range("A2:B" & Cells(Rows.Count, "A").End(xlUp).Row))
If Not Plage Is Nothing Then
    For Each Cel In Plage
        Cells(Cel.Row, "C") = Cells(Cel.Rows, "A") + Int(Cells(Cel.Row, "B"))
    Next Cel
End If
End Sub
Date : Partie entière composée du nombre de jour depuis le 01/01/1900, Heure : Partie décimale d'une date
La boucle n'est là que pour empêcher les erreurs sur une sélection multiple.
A+
 
Re : insertion de colonne par VBA

Bonjour à tous
L'incompatibilité de type provient probablement de ce qu'au moins une des références à Cells(Cel.Rows, "A") ou a Cells(Cel.Row, "B") ne renvoie pas un nombre.
Ne possédant qu'Excel2003, je n'ai évidemment pas pu le vérifier dans le classeur joint.​
ROGER2327
#4768


Mardi 17 Sable 138 (Saint Moyen, français, SQ)
27 Frimaire An CCXIX
2010-W50-5T10:15:26Z
 
Dernière édition:
Re : insertion de colonne par VBA

Salut à tous
J'avais probablement du kk dans les yeux ce matin, puisque j'ai confondu C avec R
Code:
Cells(Cel.Row, "R") = Cells(Cel.Rows, "A") + Int(Cells(Cel.Row, "B"))
Comme je n'ai que 2003, je me contente des postes.
Une incompatibilité de type résulte d'une incohérence pour Excel, souvent texte et nombre. Mais sans données...
A+
 
Re : insertion de colonne par VBA

Bonjour à tous

Gégé: Tu peux tester cette macro:


Code:
Sub Transf_Date_Heure()
'MJ
For Each cell In Range("A2:A" & Cells(65536, 1).End(xlUp).Row)
cell.Value = (CDate(cell.Text) * 1) + cell.Offset(0, 1).Value
cell.NumberFormat = "dd/mm/yyyy hh:mm:ss"
Next
End Sub
 
Re : insertion de colonne par VBA

Re

Vois si cela te convient
inserer une colonne entre B et C
Mise a jour faite sur l'existant
Macro evenementielle change modifiée
Le tout avec date veritable (permettant eventuellement les calculs)

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
ligne = Target.Row
If Not Intersect(Target, Range("A2:B" & Range("A1048576").End(xlUp).Row)) Is Nothing Then
Cells(ligne, 3).Value = CDate(Cells(ligne, 1).Value) + Cells(ligne, 2).Value
Cells(ligne, 3).NumberFormat = "dd/mm/yyyy hh:mm"
End If
 
Sub maj()
Columns(3).NumberFormat = "dd/mm/yyyy hh:mm"
For ligne = 2 To Range("A65536").End(xlUp).Row
Cells(ligne, 3).Value = CDate(Cells(ligne, 1).Value) + Cells(ligne, 2).Value
Next ligne
End Sub
 
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
702
Réponses
2
Affichages
426
Réponses
2
Affichages
329
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
8
Affichages
645
Retour