Remplacer une valeur à partir d'une cellule adjacente

Fermé
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016 - 28 sept. 2016 à 16:15
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 29 sept. 2016 à 14:53
Bonjour à tous,

Je souhaiterais remplacer la valeur de la colonne H si la valeur de la colonne A contient "-2" , "-3", "-4", "-5", "-6" ou "-7".

Cette règle devrait s'exécuter à partir de la ligne 7, le document n'aura pas toujours le même nombre de ligne.

Merci pour votre aide.

13 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
28 sept. 2016 à 17:09
Bonjour


Peux tu envoyer un bout de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".

Cdlmnt
0
Utilisateur anonyme
28 sept. 2016 à 18:03
Bonjour bambooetugo et ccm81,

Il manque un renseignement important !

De la ligne 7 à la dernière ligne n, si la valeur de la colonne A
est entre -2 et -7 inclus : remplacer la valeur de la colonne H
par quoi ?

Cordialement.  😊
 
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 08:17
Merci pour vos réponses.

Quelques précisions :

1 - Je veux remplacer la valeur de la colonne H par NA. (Soit dans l'exemple sur les lignes 8-14 et 15
2 - A partir de la ligne 7, le nombre de ligne est variable

https://www.cjoint.com/c/FIDgmJjjJsn

Merci pour votre aide.
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
Modifié par Fahora le 29/09/2016 à 08:54
Bonjour ,

comment détermines-tu la valeur de la colonne H ?

Important, si cette valeur est détermine aléatoirement (c à d s'il n'y a pas de logique dans cette valeur), il faudra certainement passer par VBA ou faire une formule pour chaque ligne

Cordialement,

Nos seules limites sont celles que nous nous imposons nous-même.
La politesse et un merci ne tuent pas. Il existe un bouton pour "Résolu" pour confirmer que     votre problème n'en est plus un. Fahora
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 08:56
Bonjour Fahora,

La valeur de la colonne H dépends de l'information de la colonne A:
(colonne A contient "-2" , "-3", "-4", "-5", "-6" ou "-7".)

En effet je souhaite passer par une Macro.

Merci pour votre aide
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
29 sept. 2016 à 09:00
Avec tout le respect que je te dois , tu ne réponds pas à ma question. Actuellement, dans ta colonne H , il y a CU10/CU12 ou CU38, comment sont déterminés ces valeurs ?
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 09:30
Dsl je parlais de la colonne I et non de la H

Je souhaite simplement que pour chaque ligne de la colonne A avec indice supplémentaire (-2,-3....) il remplace la valeur de la colonne I par "NA".

Merci
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
29 sept. 2016 à 09:33
Même question :) . Comment sont déterminés les valeurs de ta colonne I ? (Nbr de caisses)
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 09:58
Par un colisage (ce tableau est extrait d'une application)

Le nombre a peu d'importance pour le sujet.
0
 
Bonjour bambooetugo et Fahora,

Peut-être que cette formule (à adapter) pourra aller :
=SI(LIGNE()<7;"";SI(ET(A1>=-7;A1<=-2);NA();I1))

Formule à mettre en B1 (par exemple), et à tirer vers le bas.

Cordialement.  😊


PS : Désolé, pas le temps de voir le fichier joint !
 
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 11:37
Merci Albkan, mais cela ne semble pas être la solution.

Est il possible d'intégrer cette formule dans une Macro.
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
29 sept. 2016 à 11:44
Avec une macro
http://www.cjoint.com/c/FIDjShdktoq

Cdlmnt
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 13:13
Merci ccm81 ce code fonctionne comme je le souhaite,

Je rencontre des difficulté pour exécuter l'ensemble de mes commandes.

Comment intégrer ce code sur une macro existante ?

Merci pour ton aide
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
Modifié par ccm81 le 29/09/2016 à 14:10
Pourquoi veux tu l'intégrer à une macro existante.
Tu peux simplement faire un appel à elle dans ta macro :
Sub ta_macro()
....

Call OK
...
End Sub

N'oublies pas les constantes en début de code qui dépendent de ta configuration (colonnes concernées et premiere ligne à traiter)
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 14:43
CCm81,

J'ai essayé de l'insérer dans ma Macro (qui exécute de la mise en page et récupère des données d'une autre feuille Excel).


Voici Mon Code : (à l'exécution : Erreur de compilation)

Attention aux Yeux !!

Sub PlanningCOLLAGE()
'

' Ordre des feuilles/ ordre des colleuses

Windows("Planning Collage.XLS").Activate

Sheets("BOBST ALPINA 75").Select
Sheets("BOBST ALPINA 75").Move Before:=Sheets(1)
Sheets("BOBST EXPERFOLD 80").Select
Sheets("BOBST EXPERFOLD 80").Move Before:=Sheets(2)
Sheets("BOBST MEDIA 45 VERSION 2").Select
Sheets("BOBST MEDIA 45 VERSION 2").Move Before:=Sheets(3)
Sheets("BOBST MEDIA 45").Select
Sheets("BOBST MEDIA 45").Move Before:=Sheets(3)

Call OK

Call PlanningCOLLAGE2

End Sub

Option Explicit

Const cotest = "A"
Const coremp = "I"
Const lideb = 7

Public Sub OK()

' supprime la valeur "Caisses" en double (Appels)

Dim li As Long, lifin As Long, s As String, rt As Long, dc As Long
Application.ScreenUpdating = False
lifin = Range(cotest & Rows.Count).End(xlUp).Row
For li = lideb To lifin
s = Range(cotest & li).Value
rt = InStr(1, s, "-")
If rt > 0 Then
dc = Right(s, 1)
If dc >= 2 And dc <= 7 Then
Range(coremp & li).NumberFormat = "General"
Range(coremp & li).Formula = "=NA()"
End If
End If
Next li
Application.ScreenUpdating = True
End Sub

Sub PlanningCOLLAGE2()


'Mise en Page

Sheets("BOBST ALPINA 75").Activate
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("A2:L2").Select
Selection.ClearContents
Range("A3:L3").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("A4").Select

Range("J5:K5").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge

Columns("J:J").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Range("J5:J6").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
ActiveCell.FormulaR1C1 = "Objectif Vitesse"
Range("K5:L5").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("A5:A6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("B5:B6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("C5:C6").Select
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("D5:D6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("E5:E6").Select
ActiveCell.FormulaR1C1 = "Quantité"
Range("E5:E6").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("F5:F6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("G5:G6").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("H5:H6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("I5:I6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("J5:J6").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("K5:L5").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("K6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("L6").Select
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("M5:M6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With

Columns("B:B").ColumnWidth = 42.57
Columns("C:C").ColumnWidth = 36.43
Columns("D:D").ColumnWidth = 20.57
Columns("E:E").ColumnWidth = 11.86
Columns("J:J").ColumnWidth = 14.86
Columns("L:L").ColumnWidth = 6.43
Range("A1").Select


End Sub
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
Modifié par Fahora le 29/09/2016 à 14:46
Pour plus de clarté , il existe des balises que tu peux utiliser pour inscrire ton code :

Rajoute < code basic> avant et < /code> après. sans les 2 espaces avec le "<"

Cordialement,
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
29 sept. 2016 à 14:53
Ouf !!!!
Pas tout lu mais, essaies déjà ceci
1. supprimes cete ligne
Option Explicit
2. mets ces trois lignes dans la procedure OK
Const cotest = "A"
Const coremp = "I"
Const lideb = 7
comme ceci
Public Sub OK
Const cotest = "A"
Const coremp = "I"
Const lideb = 7
Dim .....
etc ...
End Sub ' de OK

Bon courage
0