Bonjour sur fichier excel aller à la cellule suivante si précédente rempli
Code feuil1 : visualiser le code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Me.Range("B3"), Target) Is Nothing Then
' affectation aux touches Entrée de l'exécution d'une macro
Application.OnKey Key:="{RETURN}", procedure:="macro1": Application.OnKey Key:="{ENTER}", procedure:="macro1"
Else
' restauration action standard des touches Entrée
Application.OnKey Key:="{RETURN}": Application.OnKey Key:="{ENTER}"
End If
End Sub
dans macro sur la feuil1
Sub macro1()
Set range1 = Range(« B3 »)
range1.Copy
Range(« C3 »).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range(« B3 »).ClearContents
End Sub
je veux aller à la cellule suivante si précédente rempli D3, E3 etc
ensuite faire cela sur des lignes en dessous avec commande B4
je ne sais pas ce que vous voulez faire, déplacer le contenu d’une cellule vers droite ?
Au lieu du « Return », j’utilise le bouton droite de la souris.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Value = "" Then Exit Sub 'cellule est vide =arrêter
If Intersect(.Cells(1), Me.Range("3:10")) Is Nothing Then Exit Sub 'seuelement dans les lignes 3 à 10
Cancel = True
If .Column = Columns.Count Then MsgBox "on est déjà à la dernière cellule": Exit Sub
If .Offset(, 1).Value <> "" Then
If vbYes <> MsgBox("cellule à droite n'est pas vide" & vbLf & "Continuer ??", vbYesNo) Then Exit Sub
End If
.Offset(, 1).Value = .Value 'déplacer valeur 1 position vers droite
.ClearContents 'vider target
End With
End Sub
ce n’est pas tout à fait ce que je veux dans le code de la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If Not Douvient Is Nothing Then
Application.EnableEvents = False
If Douvient.Address = "$B$3" Then
Range("C3").Activate
ElseIf Douvient.Address = "$C$3" Then
Range("D3").Activate
ElseIf Douvient.Address = "$D$3" Then
Range("E3").Activate
ElseIf Douvient.Address = "$E$3" Then
Range("F3").Activate
ElseIf Douvient.Address = "$F$3" Then
Range("G3").Activate
ElseIf Douvient.Address = "$G$3" Then
Range("H3").Activate
ElseIf Douvient.Address = "$H$3" Then
Range("I3").Activate
ElseIf Douvient.Address = "$I$3" Then
Range("J3").Activate
ElseIf Douvient.Address = "$J$3" Then
Range("K3").Activate
ElseIf Douvient.Address = "$K$3" Then
Range("L3").Activate
ElseIf Douvient.Address = "$L$3" Then
Range("M3").Activate
ElseIf Douvient.Address = "$M$3" Then
Range("N3").Activate
End If
Set Douvient = ActiveCell
Application.EnableEvents = True
'End If
End Sub
sur chaque ligne mettre un nombre en B3 valider avec touche entrée puis cellule suivante C3 valider mais pas forcement valider les autres cellules, pouvoir revenir sur ancienne cellule
passer à la ligne suivante
etc
Merci enchainement_restaux.xlsm (16,3 Ko)
Ceci pour entrer le nombre de produits par cellule et par ligne